MediaPlayer начинает выдавать неизвестные ошибки через некоторое время - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть приложение с множеством коротких видео, которые воспроизводятся повсюду. Некоторые из них используют VideoView, некоторые просто TextureView с MediaPlayer. Это работает нормально, за исключением того, что через некоторое время любая новая попытка воспроизвести видео с использованием любого из этих методов завершается неудачей с MEDIA_ERROR_UNKNOWN и, казалось бы, случайным значением для extra. Похоже, это случалось намного раньше и на младших устройствах. Он снова начинает работать после уничтожения приложения.

Еще немного информации, которая может оказаться полезной:

  • Для большинства видео установлено значение l oop
  • Там иногда может быть загружено более одного видео за раз, хотя оно по-прежнему не работает, даже если я избегаю таких ситуаций
  • Я звоню release() на MediaPlayer s, которые я использую, когда они находятся в действии или фрагменте. уничтожен, поэтому я предполагаю, что это не проблема с утечкой ресурсов или чем-то в этом роде
  • Все воспроизводимые видео находятся в локальном хранилище приложения
  • На некоторых устройствах я иногда получаю IOException говоря, что setDataSourceFD потерпел неудачу вместо этого, хотя я не мог заставить его опубликовать точное сообщение здесь
  • Мой минимальный sdk 21, а цель 29

С поиск в Google, который я сделал до сих пор, единственное, что мне показалось отдаленно связанным, было то, что видео находится в неподдерживаемом формате, но это не может быть так, поскольку иногда оно не работает на видео, которые воспроизводились раньше иногда даже на этом же этапе.
Также есть этот похожий вопрос , хотя кажется, что он задает c для устройства, в то время как я вижу это на любом, что я примеряю, от эмуляторов, через низкоуровневые Конец к высокому уровню, со временем, которое требуется, чтобы сломаться, как правило, длиннее, чем старшее устройство.

Это ускользает от меня в течение нескольких дней, поэтому любая помощь будет высоко ценится. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...