【发布时间】:2011-07-09 04:38:57
【问题描述】:
我正在制作一个应用程序,我试图将单个声音加载到 SoundPool 上,这样我就可以在需要时管理播放速率,在需要时播放它,并在需要时释放它。但是,我的 SoundPool 没有加载。我试图改变很多不同的东西,但似乎没有任何效果。我在 OnLoadComplete 函数中放了一个 Log.d 以查看它是否加载,并且运行时日志没有出现......也许在查看我的代码之后其他人可以帮助我。谢谢!
private int currentVoice = 0;
private SoundPool voices = null;
....
public void onCreate(Bundle savedInstanceState) {
....
voices = new SoundPool(1, 3, 0);
voices.setOnLoadCompleteListener(this);
....
}
private void giveSentence() throws IOException {
....
voices.release();
currentVoice = voices.load(this, sentences[index].voice, 1);
voices.play(currentVoice, 1, 1, 1, 0, 1f);
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
soundPool.play(sampleId, 1, 1, 1, 0, 1f);
boolean loaded = true;
Log.d("Game","Is it loaded? " + loaded);
}
【问题讨论】:
-
修复了自己,我在做 voices.release();在加载任何内容之前。出于某种原因,刚刚关闭了 SoundPool。
标签: android audio loading playback