MediaPlayer
从 HTTP URL 流式传输时,我无法保持弹性。
如果我开始播放文件,但随后断开连接(例如飞行模式),则MediaPlayer#OnErrorListener
生成what=1, extra=-17
然后不久之后what=-38, extra=0
。
我在 API 中没有看到关于 this 表示什么的文档,除了额外的是“通常依赖于实现”。我正在使用 HTC Hero(嗯,它是 T-Mobile UK 的 G2 Touch)。
其他人是否获得相同的值,并且将这些值捕获为意味着连接消失是否安全?
当连接重新出现时,我怎样才能最好地恢复?(将当前搜索保存到首选项,并每 5 秒重试一次?)
我怎么知道设备何时决定开始播放它正在缓冲的内容 - 是否有回调(除了 polling isPlaying()
)?
此外,我不完全确定onBufferingUpdate
提供了什么。我正在使用 40 分钟的播客MP3 (64kbps bitrate)
- 缓冲 1%、2%、3%。当我寻求大约 30 分钟时,它显示 75%,然后当我回到开始时回到 5% - 除了显示大约缓存的内容之外,这个回调还有什么意义?
最后 - 有什么方法可以将流式传输到MP3
?