下一个序列之后,AudioRecord.read() 方法在 Android 4.3+ 上无限期阻塞:
1) Create Audio record object in first activity.
2) start(), read(), stop(), release()
3) Open second Activity
4) Create Audio record object in second activity.
5) start(), read() <- "read" method blocks indefinitely, and i get this warnings in LogCat:
日志猫: 01-06 12:29:45.797:W/AudioRecord(20225):死 IAudioRecord,从 start() 创建一个新的 IAudioRecord 01-06 12:29:45.799: I/AudioFlinger(185): AudioFlinger 的线程 0xb3060000 准备运行 01-06 12:29:45.805:W/AudioPolicyManager(185):releaseInput()释放未知输入1276
一些代码:
int min_buff_size = AudioRecord.getMinBufferSize(44100,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT);
AudioRecord recorder = new AudioRecord(AudioSource.MIC,
read_samplerate,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT,
min_buff_size);
如何解决这个问题?
最佳答案
您的问题可能是由于每次使用后未释放录音而导致的。要解决您的问题,您可以按照以下步骤操作:
- 重新启动手机,启动时不要运行任何程序
添加代码以在您想要停止的地方释放您的录音,例如onPause()。
audiorecord.stop();
audiorecord.release();
再次运行测试。
希望这有帮助。
关于android - AudioRecord.read() 方法在 Android 4.3+ 上无限期阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27795851/