У меня есть приложение с множеством коротких видео, которые воспроизводятся повсюду. Некоторые из них используют VideoView
, некоторые просто TextureView
с MediaPlayer
. Это работает нормально, за исключением того, что через некоторое время любая новая попытка воспроизвести видео с использованием любого из этих методов завершается неудачей с MEDIA_ERROR_UNKNOWN
и, казалось бы, случайным значением для extra
. Похоже, это случалось намного раньше и на младших устройствах. Он снова начинает работать после уничтожения приложения.
Еще немного информации, которая может оказаться полезной:
- Для большинства видео установлено значение l oop
- Там иногда может быть загружено более одного видео за раз, хотя оно по-прежнему не работает, даже если я избегаю таких ситуаций
- Я звоню
release()
на MediaPlayer
s, которые я использую, когда они находятся в действии или фрагменте. уничтожен, поэтому я предполагаю, что это не проблема с утечкой ресурсов или чем-то в этом роде - Все воспроизводимые видео находятся в локальном хранилище приложения
- На некоторых устройствах я иногда получаю
IOException
говоря, что setDataSourceFD
потерпел неудачу вместо этого, хотя я не мог заставить его опубликовать точное сообщение здесь - Мой минимальный sdk 21, а цель 29
С поиск в Google, который я сделал до сих пор, единственное, что мне показалось отдаленно связанным, было то, что видео находится в неподдерживаемом формате, но это не может быть так, поскольку иногда оно не работает на видео, которые воспроизводились раньше иногда даже на этом же этапе.
Также есть этот похожий вопрос , хотя кажется, что он задает c для устройства, в то время как я вижу это на любом, что я примеряю, от эмуляторов, через низкоуровневые Конец к высокому уровню, со временем, которое требуется, чтобы сломаться, как правило, длиннее, чем старшее устройство.
Это ускользает от меня в течение нескольких дней, поэтому любая помощь будет высоко ценится. Спасибо.