Проблема с выпуском Android MediaPlayer (ошибка?) - PullRequest
0 голосов
/ 25 апреля 2019

При воспроизведении различных потоков музыкальных медиа-файлов (радиостанций) иногда возникает проблема с выпуском, связанная с тем, что новый поток не запускается примерно через 30 секунд.

Последовательность выпуска, поясненная на developer.android.com::

mediaPlayer.release ();mediaPlayer = null;

После этого при подготовке нового потока logcat иногда говорит:

E / ExtMediaPlayer-JNI: не удалось найти QCMediaPlayer ....

Это поведение указывает на то, что MediaPlayer НЕ освобождается должным образом, поэтому новый не может быть запущен немедленно (нормальный рабочий случай), но ему придется ждать некоторого (предполагаемого) GarbageCollection или аналогичного в MediaPlayer.

В качестве альтернативы мы попробовали mediaPlayer.reset (), а затем mediaPlayer.prepare (...)… но с тем же катастрофическим результатом.

Любые предложения обойти эту проблему будут высоко оценены.Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

На мой взгляд, это явно ошибка в процессе выпуска mediaPlayer. Иногда медиаплеер застревает в своей родной части (= QC), и единственный способ освободиться от этой сверхбольшей катастрофы - очистить кэш приложения. Очевидно, очень неудовлетворительное решение.

Мы используем телефоны LG, и, конечно, это может быть что-то с этим брендом. Надеюсь, команда Android читает это. Решение должно включать возвращаемое значение true / false из процесса деблокирования, если только они не могут найти более водонепроницаемое решение.

0 голосов
/ 25 апреля 2019

Возможно, платформа вашего устройства не поддерживает QCMediaPlayer. Посмотрите эту ссылку на Github, чтобы правильно понять

https://github.com/fallowu/slim_hardware_qcom_media/blob/master/QCMediaPlayer/com/qualcomm/qcmedia/QCMediaPlayer.java

Вы можете использовать Soundpool ....

...