Потоковая передача с Android MediaPlayer - фиксация ошибок и буферизация

Я испытываю затруднения при получении MediaPlayer быть эластичным при потоковой передаче от URL HTTP.

Если я начинаю играть файл, но затем отбрасываю соединение (например, авиарежим), MediaPlayer#OnErrorListener генерирует what=1, extra=-17 и затем вскоре после этого what=-38, extra=0.

Нет никакой документации I, видят в API того, что это обозначает, кроме дополнительного "Обычно иждивенец реализации". Я использую HTC Hero (хорошо, это - Касание G2 Великобритании T-Mobile).

Другие люди получают те же значения, и действительно ли безопасно поймать эти значения как значение, что соединение пошло?

Как я могу лучше всего возобновить, когда соединение вновь появляется? (сохраните ток, ищут на предпочтения и повторяют каждые 5 секунд?)

То, как делают я знаю, когда устройство решило начать играть то, что оно буферизовало - является там обратным вызовом (кроме опроса isPlaying())?

Кроме того, я не совсем уверен что onBufferingUpdate обеспечивает. Я использую 40-минутный подкаст MP3 (64kbps bitrate) - буферизация идет 1%, 2%, 3%. Когда я ищу приблизительно на 30 минут в, это показывает 75%, затем когда я ищу назад на запуск назад к 5% - какой смысл этого обратного вызова кроме показа приблизительно, что кэшируется?

Наконец - там любой способ передать по каналу то, что передается потоком к MP3?

7
задан Puru Pawar 3 April 2014 в 04:20
поделиться