MediaPlayer:互联网广播流的缓冲状态?

时间:2014-07-31 14:05:35

标签: android android-mediaplayer buffering internet-radio

我正在使用MediaPlayer播放互联网广播流。然而,每次开始播放流时,缓冲似乎需要大约10秒钟。有什么办法可以表明:

  1. 开始玩的进度?例如。 GUI中的进度条
  2. 缓冲区状态一次播放? (例如,当缓冲区由于某种原因干燥时发出警告)
  3. 我尝试使用setOnBufferingUpdateListener()但据我所知,它仅适用于已知持续时间的流。 (所以不适用于网络电台,除非我错了 - 它没有被解雇)

1 个答案:

答案 0 :(得分:1)

实现MediaPlayer.OnInfoListener,覆盖onInfo方法,您可以采取措施控制MediaPlayer的状态,如下所示:

@Override
public boolean onInfo(MediaPlayer arg0, int what, int extra) {
    Log.i(LOG_TAG, "MediaPlayer INFO code = " + what + " extra=" + extra);
    if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
        Log.d(LOG_TAG, "Start buffering...");

    } else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
        Log.d(LOG_TAG, "End buffering...");
        Log.d(LOG_TAG, "Start playing...");

    }
    return false;       
}

查看http://developer.android.com/reference/android/media/MediaPlayer.html以了解其他行动;)