Я испытываю затруднения при получении 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
?