android录制音频通过网络传输到服务器播放
来源:互联网 发布:淘宝客呼醒淘宝 编辑:程序博客网 时间:2024/06/06 11:47
暂时假象的2种场景,一种是android实时录制音频,通过编码rtp打包到服务器,服务器接收并转发,客户端能够实时播放。这个是单向音频传输的想法,与spydroid处理音频类似,但由于spydroid本身的音频在我小米1s上测试不成功,故自己考虑用其他方式来实现。为什么没有把spydroid源码分析系列写下去,主要原因是,spydroid源码本身还存在不少问题。比如h263编码在我机子android minu2.2上测试正常,而h264编码通过VLC播放黑屏。我借用同事三星手机,android2.3.3却出现测试h264正常,h263没反应的情况。因为视频采用的硬编码,不同机型的兼容性不同,故音频不采用AMR编码或者AAC编码,貌似AMR适合低版本的android系统,而AAC适合高版本的android系统。我决定采用第三方编码库,考虑了很久,放弃了iblc,打算采用speex编码库。
思路想法:
1、audioRecorder录制音频,格式为未压缩的PCM格式
2、speex编码压缩,rtp打包传输到服务器。编译后的speex的so库网上有很多,自己就不用考虑那么多,自己拿来用,通过jni调用它就ok了
3、服务器接收数据,客户端VLC通过rtsp请求服务器,听到实时录制的声音。
为了测试正确性,先把录制的音频保存为spx格式,看是否能够正常播放。这一步已经测试成功,参考网上的一个例子。GaussR工程。
rtp打包发送到服务器,服务器端先建立sdp文件播放音频,用来测试正确性。如果能够听到声音,服务器编写代码,接收数据并转发。
第二种场景是语音聊天,和sipdroid很类似,2客户端头通过与服务器建立通信,知道对方的ip,端口,通过udp吧接收的数据直接发送到对方。编解码库还是采用speex,它很强大,可以消除噪音、回音等。
接下来是编写代码,给自己鼓气,加油
- android录制音频通过网络传输到服务器播放
- 音频AVAudioPlayer 的录制与播放和上传到服务器
- Android音频录制与播放
- android mediarecorder 录制音频并通过socket,存储到本地
- Android开发笔记-音频录制/播放&音频
- Android开发笔记-音频录制/播放&音频
- android播放网络音频
- Android 播放网络音频
- Android下音频录制以及网络传输的思路及开发方法
- Android录制声音文件(音频),并播放
- Android的音频录制与播放
- Android音频的播放与录制
- Android 音频录制和播放问题
- Android音频处理之通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能
- 音频录制和播放
- 音频录制及其播放
- 播放和录制音频
- 音频录制以及播放
- Button 的文字怎么竖向显示 自定义竖型TabWidget ListView的初始化滚动条定位到最后一行
- java在控制台的格式化输出
- Inf 格式详解
- Struts2 -- s:if标签的使用
- Java EE 5实现Web服务(Web Services)及多种客户端实例-小结
- android录制音频通过网络传输到服务器播放
- .NET 中的缓存技术
- mysql中的load data infile用法
- 数据库压缩
- UML六大类图关系
- Android中的OpenGL ES简介
- NSString
- C# 二进制,十进制,十六进制 互转
- eclipse设置 “alt+/” 作代码提示的快捷键