在android中超过OpenCore实例的最大数量

时间:2010-03-12 11:00:52

标签: android-emulator

当我运行我的应用程序时,它显示“超过最大数量的OpenCore实例”错误。如何解决此错误。 谢谢

1 个答案:

答案 0 :(得分:3)

如果您实例化MediaPlayer的多个实例,则会发生以上情况。

您应该阅读the lifecycle of the media player and its different states

  • 在类变量范围中定义一个媒体播放器,例如
  • 根据需要在Oncreate方法和OnResume方法中实例化
  • 在您播放音频的功能中使用.reset方法让媒体播放器进入闲置状态
  • 使用.setDataSource或等效项将其置于初始化状态
  • 然后.prepare准备状态
  • 然后.start播放音频
  • .stop()等来阻止它
  • 完成后使用.release函数释放音频资源。

Media Player被定义为类范围变量,并在OnCreate()方法

中实例化
    private void startPlayingAudio()
{
    try {

        Uri path1 = Uri.parse("android.resource://com.yourpackagehere./" + R.raw.beep);         
        mp.reset();  // reset to idle state
        mp.setDataSource(this, path1); // from idle to initialised state

        mp.prepare();

        mp.start();         
    } catch (Exception ioe) {
        Log.e(LOG_TAG, "Error playing the beep sound");
    }
}