SoundPool在Android 1.6上正常运行,但是当我在模拟器中运行2.1时,每次尝试播放声音时都会收到“sample 2 not READY”错误消息。
我该如何解决这个问题?
答案 0 :(得分:3)
Android 2.0及更高版本的SoundPool仅适用于OGG Vorbis文件。如果您使用的是MP3等,它们将无法解码。
答案 1 :(得分:3)
在我的设备上等待几秒钟,音频流准备就绪。
或者使用此OnLoadCompleteListener
:
http://developer.android.com/reference/android/media/SoundPool.OnLoadCompleteListener.html
我可以玩ogg / wav / mp3 ......
SoundPool
可以为每种媒体类型创建不同的解码器/播放器。
答案 2 :(得分:0)
这是代码
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();
}
}