我正在開發Android上的在線流媒體播放器。我發現mediaplayer不會停止緩衝!它讀取緩衝區的100%,並保持做「東西」,因爲流只能只能讀取一次,有沒有什麼可以緩衝...... 我看到Android媒體播放器無盡緩衝
public void onBufferingUpdate(MediaPlayer player, int percent)
與百分率爲100無休止地稱它爲一個晚上消耗電池。我做錯了什麼,或者有什麼合理的解釋嗎?看起來緩衝不能被取消,停止它的唯一方法是重置mediaplayer本身。我需要一些方法來阻止這種無休止的'緩衝'!
這我怎麼INIT MEDIAPLAYER
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDataSource(streamUrl);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnInfoListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.prepareAsync();
日誌消息我看到:
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
...
你有沒有想過什麼?我正在開發一個應用程序,通過MediaPlayer在服務中播放視頻,並且我意識到,在離開它「暫停」之後,即使手機屏蔽並且應該睡着了,它也會耗盡電量!停止和重置MediaPlayer似乎已經修復了它,但如果我可以讓它暫停,它仍然會更好,因爲如果我必須重新初始化播放器,恢復需要更長的時間。 – Flyview
我發現它的行爲只有在我的華爲手機上(至少我測試過的其他設備工作正常)。最後我做了這樣的事情:如果玩家暫停了一段時間並緩衝,然後我重置了玩家。 – Arvydas