Android MediaPlayer错误代码?

时间:2010-10-04 17:21:39

标签: android media-player

我正在努力让现场广播流在Android上运行。我正在使用MediaPlayer类,只是设置URL并播放它。它在大多数情况下效果很好,但是在5-30分钟后它不可避免地会死亡。在2.1手机(更具体地说是英雄)上我得到了这个日志输出

W/MediaPlayer( 7919): info/warning (1, 26)
I/MediaPlayer( 7919): Info (1,26)
I/MediaStreamService( 7919): mPlayer info code:1  extra:26
E/MediaPlayer( 7919): error (1, -11)
E/MediaPlayer( 7919): Error (1,-11)

MediaStreamService是我的包含MediaPlayer的服务的地方,输出来自OnInfoListener

在2.2手机上我没有得到OnInfoListener回调,流就死了。但我确实在logcat中看到了这一点

E/HTTPStream( 1020): recv failed, errno = 11 (Try again)
E/HTTPDataSource( 1020): retrying connection failed

尽管有不断的logcat垃圾邮件

,似乎在我的1.6手机上完美运行
E/PlayerDriver( 82): Invalid percentage value <big growing number>

我的问题是,错误代码(1,26)是什么意思?是什么导致我的mediaPlayer崩溃? 2.1问题是否与2.2问题有关? 谢谢, 森

修改:我在查看源代码OnInfoListener并找到public static final int MEDIA_INFO_UNKNOWN = 1; 我不确定它究竟意味着什么,也无法找到这些额外内容的保存位置。任何媒体信息未知的含义是什么?或者这26代表什么将非常感激。

3 个答案:

答案 0 :(得分:31)

我的问题是,错误代码(1,26)是什么意思?

  • 26表示PVMFInfoErrorHandlingStart,只是一个错误指示

错误是-11,表示PVMFErrTimeout。您可以在此处查看定义文件link text

答案 1 :(得分:0)

也许是RDS数据? 你手动设置缓冲区大小吗?

答案 2 :(得分:0)

要开始播放,必须调用start()。 start()成功返回后,MediaPlayer对象处于Started状态。可以调用isPlaying()来测试MediaPlayer对象是否处于Started状态。

当处于Started状态时,如果事先通过setOnBufferingUpdateListener(OnBufferingUpdateListener)注册了OnBufferingUpdateListener,则内部播放器引擎会调用用户提供的OnBufferingUpdateListener.onBufferingUpdate()回调方法。此回调允许应用程序在流式传输音频/视频时跟踪缓冲状态。

调用start()对已处于已启动状态的MediaPlayer对象没有影响。

也许这是回应的一部分。