Превышает максимальное количество экземпляров OpenCore в Android

StackOverflow https://stackoverflow.com/questions/2432191

  •  19-09-2019
  •  | 
  •  

Вопрос

когда я запускаю свое приложение, оно показывает ошибку "Превышает максимальное количество экземпляров OpenCore".Как устранить эту ошибку.Спасибо

Это было полезно?

Решение

Описанное выше происходит, если вы создаете несколько экземпляров MediaPlayer.

Вам следует прочитать о жизненный цикл медиаплеера и его различные состояния

  • Определите один медиаплеер, например, в области видимости переменной класса
  • Создайте его экземпляр в методе Oncreate и в методах onResume по мере необходимости
  • в вашей функции воспроизведения звука используйте метод .reset, чтобы перевести медиаплеер в режим ожидания
  • используйте .setDataSource или эквивалент , чтобы перевести его в инициализированное состояние
  • затем подготовьтесь к подготовленному состоянию
  • затем начните воспроизводить аудио
  • .stop() и т.д., чтобы остановить это
  • когда вы закончите, используйте функцию .release, чтобы освободить аудиоресурс.

Медиаплеер определяется как переменная области видимости класса и создается в методе 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");
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top