Android WebRTC 音视频开发(二)-- webrtcdemo介绍
来源:互联网 发布:开淘宝店铺成功案例 编辑:程序博客网 时间:2024/04/30 06:03
1、先看WebRTCDemo的代码结构,如下图:
2、WebRTCDemo中音视频管理接口--MediaEngine,包括操作音频和视频的接口,详见MediaEngine的实现。
3、jni实现:细心的读者会发现WebRTCDemo下面有一个jni目录,这是android提供的调用本地代码的方式,即Java Native Call(读者如想详细了解JNI是怎么回事,可以买本书或找些相关资料来看看,这里面涉及到NDK编译,JNI语法)。
MediaEngine中native方法最终都是通过Jni下面的video_engine_jni.cc和video_engine_jni.cc来实现的,这些Jni方法最终就转到WebRTC提供的接口类中去了,即VoiceEngine和VideoEngine,顺着这个思路再看源代码就比较容易理解了。
4、如何调试WebRTCDemo中的c++代码?
根据JNI要求,需要用NDK编译WebRTCDemo,不过目前WebRTCDemo是直接调用现成的libwebrtcdemo-jni.so,如果要调试得自己写一个Andorid.mk文件将相关源代码加进来,几乎涉及大部分WebRTC代码,这样工作量有点大,所以放弃了。
WebRTCDemo过滤和查看日志的具体方法如下(TraceLevel选项很多,可根据自己需求选择):
1 public void setTrace(boolean enable, VideoEngine.TraceLevel traceLevel) {2 if (enable) {3 vie.setTraceFile("/sdcard/trace.txt", false);4 vie.setTraceFilter(traceLevel);// huly5 return;6 }7 vie.setTraceFilter(VideoEngine.TraceLevel.TRACE_NONE);8 }
后面我还会具体讲到自定义开发中如果修改底层代码排查问题。
5、肯定有人会问IOS下WebRTCDemo在哪里?是怎么实现的?
答案:请继续关注
题外话:被微软宠坏了兄弟们,在linux下改webrtc代码蛋疼了吧,哈哈哈!
0 0
- Android WebRTC 音视频开发(二)-- webrtcdemo介绍
- Android WebRTC 音视频开发总结(二)-- webrtcdemo介绍
- Android IOS WebRTC 音视频开发总结(八)-- ios上移植webRTCDemo
- Android WebRTC 音视频开发总结(二)
- Android WebRTC 音视频开发总结(二)
- Android WebRTC 音视频开发总结(二)
- Android WebRTC 音视频开发总结(二)
- Android WebRTC 音视频开发总结(二)
- Android WebRTC 音视频开发(一)
- WebRtc研究二(WebRtcDemo的使用)
- Android IOS WebRTC 音视频开发总结(二二)-- multimeetingArchitecture
- Android WebRTC 音视频开发总结(五)-- webrtc开发原型
- Android WebRTC 音视频开发总结(一)
- Android WebRTC 音视频开发总结(三)
- Android WebRTC 音视频开发总结(一)
- Android WebRTC 音视频开发总结(一)
- Android WebRTC 音视频开发总结(三)
- Android WebRTC 音视频开发总结(四)
- PowerDesigner(四)-业务处理模型使用
- 将某列合并成字符串
- ubuntu 挂在smb服务器的方法
- PAT乙级 部分A+B
- 怎么解决BarTender因为未检测到IIS安装失败的问题
- Android WebRTC 音视频开发(二)-- webrtcdemo介绍
- 代码分析
- myeclipse序列号注册码生成Java代码 MyEclipseGen
- UE4 添加多人联机功能
- 华为oj 初级 iNOC产品部-杨辉三角的变形
- ubuntu14.04 下mysql 主从配置
- 《在唐诗里孤独漫步》读后感
- swipeRefresh下拉刷新索引越界解决方案
- Android WebRTC 音视频开发总结(三)-- 信令服务和媒体服务