我将 AndroidSoundPool
视为一种在我的通用游戏开发库中实现音效的机制。这似乎很理想。
但一 点点研究表明 , . 中的错误仍然相关吗? SoundPool
SoundPool
因为我正在开发一个库,所以任何错误都会SoundPool
成为我库中的错误,我想将我的用户与它隔离开来。
所以我的问题基本上是:我应该为音频使用什么 API?
使用AudioTrack
和编写我自己的混音器并非不可能。但显然最好避免这样做。是否有任何 API 可以为我提供解码?
我需要能够同时播放合理数量的音效(至少 16 个,比如说),并且有更多的开放性。声音需要以低延迟开始播放。WAV
需要支持文件(MP3/Ogg 不重要)。音效需要支持无缝循环和动态的、单独的音量调节。Android 应用程序生命周期需要得到适当的支持。
我听说某处有 1MB 的限制SoundPool
,这对于每个单独的声音效果可能是可以接受的,但对于所有缓冲区/声音来说并非如此。有人能告诉我确切的限制是多少吗?
最后,我还需要能够以低 CPU 负载播放压缩格式的背景音乐。我认为MediaPlayer
这是理想的选择。它可以与另一个 API 并行使用吗?
我知道有几个人一直MediaPlayer
在用SoundPool
. 但它是否支持我需要的功能?
还有其他我错过的音频 API 吗?