0

我对 Android 媒体播放器快疯了。

相同的代码在某些设备上有效,但在其他设备上失败并出现不同的错误代码。

我试图弄清楚错误 (1, -103) 和错误 (1, -105) 的含义,但没有找到关于此的文档。

我有一个控制媒体播放器对象的包装类,但这就是它的翻译方式:

mediaPlayer = new MediaPlayer();
   mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
   mediaPlayer.setDataSource("http://stream2.srr.ro:8000/");

   mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    public void onPrepared(MediaPlayer mp) {
        mp.start();
    }
});
  mediaPlayer.prepareAsnyc();

在三星 Galaxy SIII 上,我收到 -1004 错误,经过深度搜索后发现它可能是 winamp Shoutcast Streaming 问题。

在另一台设备上,我得到 -103 和 -105 错误,我找不到它们的含义。

我试图添加一个错误监听器并返回 true,但它不起作用。

            m_mediaPlayer.setOnErrorListener(new OnErrorListener() {

            @Override
            public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
                // TODO Auto-generated method stub
                return true;
            }
        });

你能帮忙吗?

谢谢,

4

3 回答 3

0

Android 的大多数错误都遵循 linux 错误代码。-103 表示连接中止,主要是在需要网络连接但不可用时得到。-105 表示没有可用的缓冲区。如果您的应用程序尝试从网络源读取,您可能会得到这两个。

于 2013-06-24T06:51:55.893 回答
0

-1004 记录在Android Developers上。它读取为 MEDIA_ERROR_IO,表示文件或网络相关的操作错误。当您使用 http 时,它会将您定向到流。

其他两个我不知道。。

于 2013-06-20T11:50:55.403 回答
0

我在我的应用程序中遇到了同样的问题,我仍在寻找答案,到目前为止我发现的只是视频格式导致了这个问题,看看这些链接:

Android VideoView 无法播放视频mp4

https://superuser.com/questions/489087/what-are-the-differences-between-h-264-profiles

我得到的只是我们应该更改 H.264 配置文件并将其设置为基线。我仍在寻找在应用程序中转换它的方法,而不是在服务器上!

于 2014-02-02T07:47:11.210 回答