Android MediaPlayer错误代码(-103 / -105)

时间:2013-06-20 11:39:06

标签: android android-mediaplayer

我对Android Media Player感到很疯狂。

相同的代码适用于某些设备,但在其他设备上使用不同的错误代码失败。

我正在试图弄清楚错误(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错误,我找不到他们的意思。

我尝试添加一个errorlistener并返回true但它不起作用。

            m_mediaPlayer.setOnErrorListener(new OnErrorListener() {

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

你能帮忙吗?

谢谢,

3 个答案:

答案 0 :(得分:0)

-3004记录在Android Developers上。它读作MEDIA_ERROR_IO,它指出文件或网络相关的操作错误。这会引导您进入流,因为您正在使用http。

另外两个我不知道..

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

Android VideoView Cannot play video mp4

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

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