MediaPlayer - 从连接状态更改恢复

时间:2012-09-26 00:36:51

标签: android android-mediaplayer

假设如下:

  1. App将MediaPlayer数据源设置为远程URL。 (http://example.com/podcast.mp3)。
  2. MediaPlayer开始通过3G流式播放mp3。它缓冲比正在播放的数据更多的数据,以确保没有暂停缓冲。
  3. 设备短暂失去连接。 MediaPlayer已经流式传输了40%的文件,并缓存了50%的文件。
  4. 设备通过WIFI或3G重新获得连接。
  5. MediaPlayer目前还没有,据我所知继续缓冲mp3。
  6. 一旦媒体播放器达到50%,它就会停滞不前。
  7. 不幸的是,如果不使用代理,就无法同时下载和流式播放MP3(或者是这样?)。话虽这么说,一旦它到达失速点,是否可以继续使用新连接播放mp3(如果可能,无缝地?)。有可能看到有多少mp3被缓冲了吗?一旦重新建立连接,是否有可能创建一个新的MediaPlayer连接并从第一个连接“切换”回放到下一个连接?

1 个答案:

答案 0 :(得分:1)

我无法回答你所有的问题,只是把我认为我知道的事情放在这里。

  

有可能看到有多少mp3被缓冲了吗?

添加setOnBufferingUpdateListener侦听器,在此方法中,您可以知道缓冲的百分比。

public void onBufferingUpdate(MediaPlayer mp, int percent) {
    Log.i(TAG, "onBufferingUpdate - percent=" + percent);

}

上面的内容适用于某些流,而不适用于其他一些流。我仍在试图找出原因。