我开发了一个 Android 音乐播放器应用程序,它可以通过 HTTP 渐进式下载(通过 WiFi,使用 Apache)流式传输 MP3。这就是我设置MediaPlayer
流式传输 MP3 的方式:
mediaplayer.setDataSource(192.168.../song.mp3)
一切正常,直到与服务器的连接丢失。从我已注册的日志输出来看onBufferingUpdateListener
,似乎当与服务器的连接丢失时(例如,我关闭了手机上的 WiFi),MediaPlayer
尝试填充其缓冲区中剩余的歌曲。但是,此重试会在几秒钟后停止。
换句话说,如果与服务器的连接在丢失后的几秒钟内没有恢复,MediaPlayer
则不会恢复缓冲。(即onBufferingUpdate()
重试几秒钟后停止被调用)。此外,我的onInfoListener
or中没有收到任何错误/信息消息onErrorListener
。
问题是MediaPlayer
:无论连续连接之间的时间间隔如何,当与服务器的连接再次可用时,如何强制恢复缓冲歌曲的其余部分(最好不中断播放)?
我必须通过 HTTP 渐进式下载流式传输 MP3 的哪些替代方案?