在下一个序列之后,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:
logcat的: 01-06 12:29:45.797:W / AudioRecord(20225):死了IAudioRecord,从start()创建一个新的 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);
如何解决这个问题?
答案 0 :(得分:2)
您的问题可能是因为每次使用后都没有发布audiorecord。要解决您的问题,您可以按照以下步骤操作:
添加代码以将您的audiorecord释放到您要停止的某个位置,例如:的onPause()。
audiorecord.stop();
audiorecord.release();
再次运行测试。
希望得到这个帮助。