WARN / SoundPool示例2未就绪

时间:2010-01-22 11:36:57

标签: android

SoundPool在Android 1.6上正常运行,但是当我在模拟器中运行2.1时,每次尝试播放声音时都会收到“sample 2 not READY”错误消息。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

Android 2.0及更高版本的SoundPool仅适用于OGG Vorbis文件。如果您使用的是MP3等,它们将无法解码。

答案 1 :(得分:3)

在我的设备上等待几秒钟,音频流准备就绪。

或者使用此OnLoadCompleteListenerhttp://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();
    }
}