Подтвердить что ты не робот

Что означает MEDIA_ERROR_SERVER_DIED?

В Android-документах существует константа, определенная MEDIA_ERROR_SERVER_DIED, которая описывается как:

Сервер сообщений умер. В этом случае приложение должно освободить объект MediaPlayer и создать новый экземпляр.

Это кажется очень расплывчатым. Что означает, что сервер Media умер? Зачем это умирать? И правильно ли обращаться с ним, сразу же пытаясь снова сыграть?

4b9b3361

Ответ 1

В Android большая часть активности мультимедиа (декодирование/кодирование) происходит в медиарежиссере, за исключением ограниченных случаев, таких как локальное воспроизведение файлов с использованием программного кодека. Android mediaserver регулярно аварийно завершает (прерывает) аппаратные ошибки, неправильно отформатированные файлы или данные. Да, извините!

Поскольку во многих действиях используется общий медиасервер, ошибка в любом из действий может привести к поломке медиазера. Это чаще всего происходит, когда фоновая активность, такая как медиа-сканер или Google+ Auto-Awesome Movies, пытается сканировать поврежденный или просто неподдерживаемый файл. Когда это произойдет, остальные процессы, которые использовали медиасервер, получают уведомление. Это уведомление передается приложению в случае MediaPlayer или MediaRecorder.

Когда mediaserver умирает, он немедленно перезапускается. Несмотря на то, что сервер умирает, объект-прокси в приложении все еще жив и использует ресурсы. Следовательно, необходимо освободить объект. Безопасное создание нового сразу после уведомления.

Ответ 2

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

Ответ 3

Это означает, что сервер с того места, где вы выполняете потоковую передачу, неожиданно завершил соединение. Это может произойти, как правило, это связано с ошибкой "Connection reset by peer".

Вы можете попытаться снова подключиться, возможно, после ожидания немного.