
android
文章平均质量分 67
izobs
蓝瘦工程师
展开
-
[Network]Android N Ethernet新IP获取机制—IpManager
android N之前 Ethernet旧的ip获取Android N之前,即android 5.0和android 6.0的IP获取机制都是通过/system/bin下面的dhcpcd的bin档去拿的ip,但是android N采用了新的IpManger,自己通过socket去发送dhcp协议原创 2016-10-17 16:59:47 · 9474 阅读 · 3 评论 -
[Network]Android N 新wifi scan流程分析
Android N wifiAndroid N 的wifi架构真的是改动挺大,从文件目录看,添加了不少文件,实际上则是对整个wifi模块进行大卸耦,很多东西被才成独立的模块,便于维护,添加feature,这里貌似采用了门面设计模式,可以看FrameworkFacade.java,。下面就看下android N wifi scan都做了哪些修改。startScanstartScan的API没有做什么变原创 2016-10-19 11:57:30 · 8519 阅读 · 3 评论 -
[Network]Android N 新wifi connect&auto connect流程分析
WifiConnectivityManager前面提到的新 Android N scan机制 ,现在再看一个新的东西,WifiConnectivityManager,之前android connect一个wifi和做scan的操作都是放在wifistatemachine中的,整个看起来很杂乱。现在google在android N中做了个新的东西,WifiConnectivityManager,通过这原创 2016-10-19 17:47:04 · 8204 阅读 · 1 评论 -
[Android N]MediaRecorder系列之初识mediaRecorder
MediaRecorder简介mediaRecorder是android系统中可以用于录制视频,音频的模块。可以通过java和cpp去调用到相关的api,从而去录制到本地文件里面。如果你有整个android 的源码,甚至可以做定制。让framework通过广播把encode好的数据上报。这样可以做实时流的传送。mediaRecorder的使用还有一个好处就是兼容性强,从4.3就有这个东西。虽然后面g原创 2016-12-15 15:51:52 · 834 阅读 · 0 评论 -
[Android N]MediaRecorder系列之mediaRecorder与StagefrightRecorder
深入mediaRecorder的实现因为java层的东西都是通过jni call到底层的cpp,所以我们之间拿cpp层的代码实现,开剖析这个mediaRecorder框架。事实上,MediaRecorder只是一个壳,定义init,start等这些api,实际上的实现不在这里面,实际上call到StagefrightRecorder。这样的写法,也是android系统里面喜闻乐见的,因为这样可以对接原创 2016-12-15 16:17:42 · 2352 阅读 · 1 评论 -
[Android N]MediaRecorder系列之StagefrightRecorder录制TS流flow(一)
mediaRecorder参数设置要录制出ts的码流,需要设置如下 //设置audio的采集源 mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); // 设置从摄像头采集图像 mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA)原创 2016-12-19 17:22:07 · 6674 阅读 · 0 评论 -
[Android N]MediaRecorder系列之StagefrightRecorder录制TS流flow(二)
start()开始录制前面调用了 mRecorder.prepare(); ,准备好了一切之后,现在调用start()函数,开始录制。mRecorder.start(); status_t StagefrightRecorder::start() { ALOGV("start"); if (mOutputFd < 0) { ALOGE("Output file d原创 2016-12-19 20:50:18 · 3093 阅读 · 0 评论 -
[Android N]MediaRecorder系列之StagefrightRecorder录制TS流flow(三)
CameraSource::start先看CameraSource的start函数:status_t CameraSource::start(MetaData *meta) { ALOGV("start"); CHECK(!mStarted); if (mInitCheck != OK) { ALOGE("CameraSource is not initia原创 2016-12-20 15:41:06 · 3342 阅读 · 0 评论