我正在Android上开发在线流媒体播放器.我发现媒体播放器永远不会停止缓冲!它读取100%的缓冲区并继续做"某事",因为流只能读取一次,没有任何东西可以缓冲......我看到了
public void onBufferingUpdate(MediaPlayer player, int percent)
Run Code Online (Sandbox Code Playgroud)
被称为无穷无尽的百分比= 100.它在一个晚上耗尽电池.我做错了什么或对此有一些合理的解释?似乎无法取消缓冲,阻止它的唯一方法是重置媒体播放器本身.我需要一些方法来阻止这种无休止的'缓冲'!
这是我如何初始化媒体播放器
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDataSource(streamUrl);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnInfoListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.prepareAsync();
Run Code Online (Sandbox Code Playgroud)
我看到的日志消息:
10-30 08:45:21.169: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=93, ext2=0x0
10-30 08:45:22.169: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
10-30 08:45:23.169: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
10-30 08:45:24.172: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
10-30 08:45:25.172: D/MediaPlayer(13217): Message: MEDIA_BUFFERING_UPDATE(3), ext1=100, ext2=0x0
...
Run Code Online (Sandbox Code Playgroud)