2.3Android调研

来源:互联网 发布:电商cps导购网站源码 编辑:程序博客网 时间:2024/05/16 05:12

首先,力推一个网站:http://www.52im.net/thread-228-1-1.html,简直是即时通信的福音。

有很多理论和架构方面的资料,像我蒙头写代码写了这段时间,看看这个,感觉还是能学习很多的,退几步讲,给面试的时候提供了装B的材料。

大致翻阅了里面关于音视频的文章。无非还是那几样,先采样,然后编码,流式发送,接收缓存,正常速率读取,然后解码后,播放语音或者视频。
这里的编解码,涉及到软解码和硬解码,软解码的话,一般就要用C代码了,这里就牵扯到了JNI

NDK的下载地址:http://www.cnblogs.com/huoshenmanbu/p/4898851.html(奇怪的是,这个网址的不能用,就是会报错),反而http://www.pc6.com/softview/SoftView_471356.html(反而这个可以用)。

再配合http://blog.csdn.net/cheng1204456236/article/details/51753701(这个链接是windows的,比较火的有一个是mac的)。(这是第一种)

终于实现了C++代码的混用,但是。这个方法还是有点冗余,比如Android.mk,假如代码复杂又不太好用了。

另外用gradle-experimental的方法,始终不行,gradle-experimental始终没有装上去。

终于搞定了,总结一下,大方针:http://www.jianshu.com/p/7844aafe897d

假如碰到问题,基本上http://blog.csdn.net/muyang_ren/article/details/50160241这个链接能解答。还有部分问题,少量特异性的问题,就得靠自己百度和自己摸索下了。(这是第二种方法

我的环境是,java1.7 + AS2.1.2


画了整整一天的时间折腾环境,还真是麻烦。接下去聊聊音频的开发。

首先明确,这个项目是p2p的语音聊天。因此过程其实不复杂,当两个ip对接后,一方,采集,编码,发送,另一方,接收,解码,播放就行。编码,有一个C语言下的xmpp协议,还有一个不错demohttp://blog.csdn.net/zgyulongfei/article/details/7753330可以研究下。


接着是视频聊天开发调研。这个编解码是必不可少了。不编码的话,例如,200*200大小的视频,图片发送,一张就是200*200*3*8?差不多,比UDP最大包还大,所以没法发。

Android有个API,MediaCodec,这个api限制在API 16后,也就是android 4.1.2(有个pad只有4.0.4.。。我http://www.cnblogs.com/skyseraph/archive/2012/04/04/2431771.html硬编码链接)http://blog.csdn.net/mabeijianxi/article/details/68942397。

暂时决定用ffmpeg来做,有个很好的链接http://www.ihubin.com/blog/android-ffmpeg-demo-2/。

目前已经实现了,把他的so拿过来,然后编写一个测试代码,基本上按照他的步骤走。最后布局调整下,gradle.properties后面加一句android.useDeprecatedNdk=true(普通JNI也需要),build.gradle(app)那个加上sourceSets.main{
jniLibs.srcDir 'src/main/libs'
jni.srcDirs=[]
}(这部分,普通JNI也需要),这样就能编译通过了

ndk需要和ffmpeg联合编译貌似,所以。。

刚刚给他点赞。。然后就博主就放弃了。。看看雷神的吧


然后调代码有的在5.0可以用的,但是再4.0就不行,会直接退出,具体看http://blog.csdn.net/jiawei6212130/article/details/52302432

http://blog.csdn.net/ztguang/article/details/51012231,一个在Windows上安装Cygwin和GCC的



还有个JavaVc的方案


暂时实现了一个Mediacodec的方案。会有一篇文章专门讲这个心酸历程



原创粉丝点击