将MP3加载到Android中的声音池中

时间:2011-08-15 03:57:51

标签: android soundpool

我想将几个MP3加载到声音池中,但我只会在活动3上使用这些MP3,是否可以在活动1中加载MP3?

或者这仅限于加载它使用它的Activity吗?

我在文档中找不到答案。

1 个答案:

答案 0 :(得分:2)

您可以随时加载它们并在任何地方使用它们。重用SoundPool对象的最好方法是扩展Application类并在那里声明一个私有变量SoundPool。类似的东西:

class MyApp extends Application {
    private static MyApp singleton;

    private static SoundPool mSoundPool;

    public onCreate() {
         super.onCreate();
         singleton = this;
         mSoundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0); Just an example
    }

    public static MyApp getInstance() {
         return singleton;
    }

    public SoundPool getSoundPool() {
         return mSoundPool;
    }
}

现在,您可以运行任何代码:

MyApp.getInstance().getSoundPool();

您将可以访问全局SoundPool对象。

PS:如果扩展应用程序类,请不要忘记更新Manifest。