2012-03-02 172 views
7

我收到一個奇怪的錯誤。 我使用MediaPlayer播放媒體流(如shoutcast或icecast)。
有時突然在播放流(總隨機)發生錯誤,流停止並重新啓動。
OnErrorListener不會被觸發!MediaPlayer停止並重新啓動

的logcat:

03-02 17:50:36.274: W/MediaPlayer(16799): info/warning (702, 0) 
03-02 17:50:36.274: I/MediaPlayer(16799): Info (702,0) 

或像這樣:

03-02 17:50:14.250: W/MediaPlayer(16799): info/warning (703, 0) 
03-02 17:50:14.250: W/MediaPlayer(16799): info/warning (701, 0) 
03-02 17:50:14.250: I/MediaPlayer(16799): Info (703,0) 
03-02 17:50:14.250: I/MediaPlayer(16799): Info (701,0) 

03-02 18:03:33.906: W/MediaPlayer(16799): info/warning (703, 126) <br> 
03-02 18:03:33.906: I/MediaPlayer(16799): Info (703,126) 

上任何想法?

編輯:

啊。還有一個信息。 701表示MEDIA_INFO_BUFFERING_START702表示MEDIA_INFO_BUFFERING_END。 我想我可以修復這些,如果我增加緩衝區大小?

編輯:但是等等。 BufferingSize被烘焙到系統中。詛咒。 :)

+1

OnInfoListener的確觸發了信息和警告。 – 2012-03-08 13:50:00

回答

1

正如你所寫,緩衝...

對不起,沒有其他的建議。

1

這是你寫的緩衝 - 我想補充的唯一的事情是,雖然它很煩人,它停止或開始,這些信息對你的用戶非常有用。你可能想用Toast(或者Crouton!)來更新他,或者指出某種緩衝狀態,這樣他們就不會責怪你的應用程序(他們無論如何都會這樣做),或者讓他們知道這可能是他們連接的責任 - 在這種情況下連接到WIFI是一種有助於的行動。

1

我看到同樣的問題,但只有在使用特定的藍牙耳機並且手機屏幕關閉時纔會發生。它發生的應用程序是Just Playlists,我開發和支持的音樂播放器。

它只發生在通過Wi-Fi而不是通過小區網絡傳輸時。通過使用Android先進的Wi-Fi設置並禁用「Wi-Fi優化」選項,我可以解決該問題,該選項聲稱「在Wi-Fi開啓時最大限度地減少電池使用量」。我已經使用高級選項來始終開啓Wi-Fi。

該耳機的品牌和型號是Phiaton PS 210 BTNC。他們支持藍牙3.0,這讓我懷疑這是問題的一部分。我在Android 4.1.x和4.2.2下都遇到了這個問題。下面是出現問題時,一個日誌摘錄,然後恢復:

I/AwesomePlayer( 131): cache is running low (1.90 secs) , pausing. 
W/MediaPlayer(3028): info/warning (703, 0) 
W/MediaPlayer(3028): info/warning (701, 0) 
I/MediaPlayer(3028): Info (703,0) 
I/MediaPlayer(3028): Info (701,0) 
I/audio_a2dp_hw( 131): suspend_audio_datapath: state 1 
E/bt-btif ( 889): bta_av_str_stopped:audio_open_cnt=1, p_data 586a58f8 
W/bt-btif ( 889): bta_dm_rm_cback:1, status:6 
W/bt-btif ( 889): bta_dm_rm_cback:1, status:6 
I/BluetoothA2dpServiceJni( 889): bta2dp_audio_state_callback 
I/audio_a2dp_hw( 131): skt_disconnect: fd 46 
D/A2dpStateMachine( 889): Connected process message: 101 
D/A2dpStateMachine( 889): A2DP Playing state : device: 00:18:09:06:08:0C State:10->11 
I/AwesomePlayer( 131): cache has filled up (6.00 secs), resuming. 

我還沒有看到在電池使用的影響是什麼禁用的Wi-Fi進行優化。