SoundPool在Android 1.6上正常工作,但是當我在仿真器上運行2.1時,每次嘗試播放聲音時都會收到「示例2未準備好」錯誤消息。WARN/SoundPool示例2未準備好
我該如何解決這個問題?
SoundPool在Android 1.6上正常工作,但是當我在仿真器上運行2.1時,每次嘗試播放聲音時都會收到「示例2未準備好」錯誤消息。WARN/SoundPool示例2未準備好
我該如何解決這個問題?
Android 2.0及更高版本上的SoundPool僅適用於OGG Vorbis文件。如果你使用MP3或類似的東西,他們不會解碼。
在我的設備上,只需等待幾秒鐘,即可準備好音頻流。
或者使用,OnLoadCompleteListener
: http://developer.android.com/reference/android/media/SoundPool.OnLoadCompleteListener.html
我可以播放OGG/WAV/MP3 ...
SoundPool
可以爲每個媒體類型不同解碼器/播放器。
下面是代碼
public void loadSound (String strSound, int stream) {
boolean loaded = false;
mSoundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
mSoundPool.play(stream, streamVolume, streamVolume, 1, LOOP_1_TIME, 1f);
}
});
try {
stream= mSoundPool.load(aMan.openFd(strSound), 1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
WOW - 感謝您的信息。 – jax 2010-03-17 09:49:39
希望適合你。花了我一段時間才弄清楚。 – Brian 2010-03-19 06:44:09
Android 2.0及更高版本上的SoundPool可與其他編碼一起使用,具體取決於MediaPlayer的解碼能力。 – Flynn81 2010-12-23 18:22:22