我使用 AudioRecord 录制麦克风数据,同时使用 SoundPool 播放声音。我的问题是:当我在 AudioRecord 上调用 startRecording() 时,SoundPool 变得不稳定或完全停止。当我调用 stopRecording() 时,所有提示的声音都会立即出现。我应该使用更好的库吗?我注意到应用程序中的按钮仍然具有响应能力,并且仍然能够播放默认声音。
即使调用 AudioRecord.startRecording() 的线程已完成,SoundPool 也会停止播放声音。在我调用 AudioRecord.stopRecording() 之前,它不会再次播放声音。我想同时做这两件事。鉴于我正在播放的声音是短声音,我认为 SoundPool 是正确使用的类。如果有人知道 Android UI Button 类如何播放声音,我可以复制它,它应该可以工作。
这是在带有最新 Android Studio 1.0.2 的模拟器中
编辑:MediaPlayer 更糟糕,它在调用 AudioRecord.startRecording() 后失败并且它的延迟比 SoundPool 长得多(当不同时录制时)。我知道由于 Log 语句,SoundPool.play() 被定期调用。
最佳答案
这只是模拟器。 它可以在物理 Android 设备上运行。
关于java - 在 Android 上使用 SoundPool 播放声音,同时使用 AudioRecord 录制麦克风,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28228514/