У меня интересная ситуация с Android MediaPlayer. У меня около 30 звуков, которые мне нужно сыграть в упражнении. Я получаю странные результаты, которые я не уверен, из-за проблем с памятью или нет ...
Причина, по которой мне нужно использовать медиаплеер, заключается в том, что у меня есть синхронизированный поток звуков, где один звук должен воспроизводиться за другим в определенном порядке. Я также использую обратные вызовы, чтобы увидеть, какой звук воспроизводится следующим. Таким образом, саундпул вышел ...
Я попытался загрузить каждый звук в свой собственный медиаплеер, используя MediaPlayer.create (). Теперь, это работает отлично на моем устройстве, Samsung Galaxy S Vibrant. Мой клиент с Samsung Ace, однако, получает исключения нулевого указателя, когда я пытаюсь установить onCompletionListener, то есть .create () возвратил null на его устройстве, но не на моем.
Итак, я переключился с загрузки их всех сразу на загрузку их на лету в onCompletionListener предыдущего звука , используя этот метод
Этот тип работает, звучит первый 3-4 звук, а затем он зависает на устройстве моего клиента (все еще работает нормально на моем устройстве). Который я предполагаю, что он висит на .prepare ()
Это невероятно сложно разобраться, так как мой клиент не имеет реального знания logcat и SDK для отладки, и он отлично работает на моем устройстве. Он даже висит на его втором устройстве, которое является той же моделью, что и мое.
Кто-нибудь знает, что может быть причиной этого или как его отладить?
Я думаю, что моим следующим шагом будет просто использовать один MediaPlayer и использовать параметр mp OnCompletionListener для загрузки следующего звука на том же медиаплеере. Я опубликую свои выводы.