首页 文章

Android MediaPlayer错误代码?

提问于
浏览
18

我正在努力获得一个直播的无线电流来处理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

似乎在我的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 回答

  • 31

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

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

    错误是-11,表示PVMFErrTimeout . 你可以在这里查看定义文件link text

  • 0

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

  • 0

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

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

    调用start()对已处于Started状态的MediaPlayer对象没有影响 .

    也许这是回应的一部分 .

相关问题