java - 在 Android 上使用 SoundPool 播放声音,同时使用 AudioRecord 录制麦克风

标签 java android performance audio android-audiorecord

我使用 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/

相关文章:

java - RecyclerView 中的网格项未正确显示

python - Python有多快?

python - Keras:检索每个模型输出的准确性

java - 使用 runAsync 时 Play 框架处理错误

java - 如何使用 JPA(Hibernate) 在连接表上查找实体?

Android:垂直LinearLayout中的ScrollView

android - AssetManager$AssetInputStream.finalize() 在 10 秒后超时

java - JFrame 内的 JFrame

java - 将一个类连接到主类

Android 12 Beta 1 AOSP 构建失败