MediaPlayer停止并重新启动

时间:2012-03-02 17:05:41

标签: java android exception media-player

我得到一个奇怪的错误。 我使用MediaPlayer播放媒体流(如shoutcast或icecast)。
有时突然播放流(总随机)发生错误,流停止并重新启动。
OnErrorListener不会被触发!

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被烘焙到系统中。诅咒。 :)

3 个答案:

答案 0 :(得分:1)

正如你所写,缓冲......

对不起,没有其他建议。

答案 1 :(得分:1)

正如你所写的那样缓冲 - 我唯一想补充的是,虽然它停止或启动很烦人,但这些信息对你的用户非常有用。您可能想要用Toast(或Crouton!)更新他或者指示某种缓冲状态,这样他们就不会责怪你的应用程序(通常他们会这么做!)或者说他们知道这可能是他们的责任归咎于责备 - 在这种情况下连接到WIFI是一个有用的动作。

答案 2 :(得分: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优化后对电池使用的影响。