Коды ошибок Android MediaPlayer?

Я изо всех сил пытаюсь получить прямой радиопоток для работы на Android. Я использую класс MediaPlayer и просто устанавливаю URL и воспроизвожу его. Он отлично работает по большей части, но через 5-30 минут он неизбежно умирает. На 2.1 телефонах (точнее, герой) я получаю этот выход журнала

 W/MediaPlayer( 7919): info/warning (1, 26) I/MediaPlayer( 7919): Info (1,26) I/MediaStreamService( 7919): mPlayer info code:1 extra:26 E/MediaPlayer( 7919): error (1, -11) E/MediaPlayer( 7919): Error (1,-11) 

Где MediaStreamService – моя служба, содержащая MediaPlayer вывод поступает из OnInfoListener

На телефонах 2.2 я не получаю OnInfoListener вызов OnInfoListener когда-либо, поток просто умирает. Но я вижу это в логарифме

 E/HTTPStream( 1020): recv failed, errno = 11 (Try again) E/HTTPDataSource( 1020): retrying connection failed 

Кажется, безупречно работает на моем 1,6-телефоне, несмотря на постоянный спам logcat

 E/PlayerDriver( 82): Invalid percentage value <big growing number> 

Мой вопрос в том, что означают коды ошибок (1, 26)? Что вызывает сбой моего медиаплеера? Является ли проблема 2.1 проблемой, связанной с проблемой 2.2? Спасибо, Натан

Изменить: я искал в исходном коде OnInfoListener и нашел public static final int MEDIA_INFO_UNKNOWN = 1; Я не уверен, что это значит, и не может найти, где хранятся эти дополнения. Любое понимание того, что означает информация о медиа? Или то, что это означает 26, было бы очень оценено.

Мой вопрос в том, что означают коды ошибок (1, 26)?

  • 26 означает PVMFInfoErrorHandlingStart, просто индикация ошибки

Ошибка равна -11, что означает PVMFErrTimeout. Вы можете проверить файлы описания здесь текст ссылки

Возможно, данные RDS? Вы задаете размер буфера вручную?

Чтобы начать воспроизведение, необходимо вызвать start (). После того, как start () успешно возвращается, объект MediaPlayer находится в состоянии Started. IsPlaying () можно вызвать, чтобы проверить, находится ли объект MediaPlayer в состоянии Started.

В состоянии «Старт» внутренний движок игрока вызывает пользователя, который был вызван методом обратного вызова OnBufferingUpdateListener.onBufferingUpdate (), если заранее зарегистрирован OnBufferingUpdateListener через setOnBufferingUpdateListener (OnBufferingUpdateListener). Этот обратный вызов позволяет приложениям отслеживать состояние буферизации при потоковой передаче аудио / видео.

Вызов start () не влияет на объект MediaPlayer, который уже находится в состоянии Started.

Может быть, это часть ответа.