Android MediaPlayer:internet广播流的缓冲区状态?
我正在使用MediaPlayer播放互联网广播流。然而,每次我开始播放流时,缓冲似乎需要大约10秒。我有什么办法可以证明:Android MediaPlayer:internet广播流的缓冲区状态?,android,android-mediaplayer,buffering,internet-radio,Android,Android Mediaplayer,Buffering,Internet Radio,我正在使用MediaPlayer播放互联网广播流。然而,每次我开始播放流时,缓冲似乎需要大约10秒。我有什么办法可以证明: 什么时候开始玩?例如,GUI中的进度条 播放后的缓冲区状态?(例如,当缓冲器因某种原因耗尽时发出警告) 我尝试使用setOnBufferingUpdateListener(),但据我所知,它只适用于已知持续时间的流。(因此不适用于互联网广播,除非我错了-它没有被触发)实现MediaPlayer.oninfolitener,覆盖方法onInfo您可以通过以下操作控制Media
我尝试使用
setOnBufferingUpdateListener()
,但据我所知,它只适用于已知持续时间的流。(因此不适用于互联网广播,除非我错了-它没有被触发)实现MediaPlayer.oninfolitener,覆盖方法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;
}
查看其他操作;) 据我所知,这同样只适用于已知持续时间的媒体。由于我使用了我在服务中为我的无线电应用程序发布的方法,所以我无法理解您为什么这么说!!!!!!那你为什么这么认为呢???这很奇怪,唯一被调用的MediaPlayer回调函数是
onPrepared()
。我会调查一下,如果有效的话,我会给你+1。但我仍然想知道是否有任何方法可以确定缓冲了多少(不仅仅是缓冲是否已经开始或完成)。我不知道为什么这是唯一被调用的回调,我向您保证,在我的服务中,每当我从webRadio URL启动流时,都会调用onInfo和onBufferingUpdate。