2010-01-22 43 views
4

SoundPool在Android 1.6上正常工作,但是当我在仿真器上运行2.1时,每次尝试播放声音时都会收到“示例2未准备好”错误消息。WARN/SoundPool示例2未准备好

我该如何解决这个问题?

回答

3

Android 2.0及更高版本上的SoundPool仅适用于OGG Vorbis文件。如果你使用MP3或类似的东西,他们不会解码。

+1

WOW - 感谢您的信息。 – jax 2010-03-17 09:49:39

+0

希望适合你。花了我一段时间才弄清楚。 – Brian 2010-03-19 06:44:09

+2

Android 2.0及更高版本上的SoundPool可与其他编码一起使用,具体取决于MediaPlayer的解码能力。 – Flynn81 2010-12-23 18:22:22

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(); 
    } 
}