首页 新闻 会员 周边

android 使用AudioRecord录音,线程卡顿

0
悬赏园豆:20 [待解决问题]

我现在要实现一个录歌曲的功能.

思路是

1、一个线程负责使用AudioRecord负责录制

2、一个线程使用NDK负责解码伴奏文件

3、一个线程负责使用解码的数据播放伴奏

最终使用录音和伴奏的两个PCM进行合并

现在的功能已经实现了。不过还有点问题

现象: 录制2分钟的音频,录音文件只有1分50秒。

原因分析: NDK解码一帧数据(60K wma文件)要100毫秒左右,个人分析是由于解码线程调用NDK解码耗时时间过长导致录音线程卡顿,而卡的过程录音线程没干活。

因为在测试中使用mp3文件进行解码一帧(2K-4K )需要0-1毫秒。此时的录音线程是正常工作的。不会出现卡的情况。

不知道大家有没有遇到类似的问题。或者能够给提供下解决方法。(目前我能想到的就是将解码线程去掉。直接使用mediaplayer播放伴奏。但是默认mediaplayer不支持wma文件的解码)

neil-zhao的主页 neil-zhao | 初学一级 | 园豆:21
提问于:2013-01-22 10:22
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册