将 byte[]数据写成一个语音文件 pcm 格式,或者wav 格式 ,或者avi格式

Tom_殇子 2019-07-19 05:23:47
小弟遇到一个瓶颈,麦克风那边获取到了数据,发给我的应用层接口如下: 

public void onVoipDataOutput(byte [] bytes , int i )



bytes 就是底层发给我的MIC 数据, i 就是这个数据的长度; 



现在我想把这个数据写成一个语音文件,并使用播放器放出来。



使用的是java 代码。 谁有这方面的经验? 请指教!
...全文
684 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuhui_7810 2019-07-23
  • 打赏
  • 举报
回复
avilib.c的代码,你可以去我的博客资源里下载。你用的java代码的话,可以将它封装成一个nativie的接口就可以了。
xuhui_7810 2019-07-23
  • 打赏
  • 举报
回复
用avilib.c这个文件去写。大致流程如下: avi_fd = AVI_open_output_file(mFd); if(avi_fd!=NULL) { /*这里的1是指单通道,44100是指采样率,16是指单位采样率是多少位的,255是指aac格式的,128是指比特率*/ AVI_set_audio(avi_fd, 1, 44100, 16, 255, 128); AVI_write_audio(avi_fd, (char*)bytes , i); AVI_close(avi_fd); } 如果你的语音是pcm格式的话,那上面的255,就要换成WAVE_FORMAT_PCM。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧