Android 尝试从流播放时出现MediaPlayer错误

Android 尝试从流播放时出现MediaPlayer错误,android,android-mediaplayer,Android,Android Mediaplayer,有人知道MediaPlayer中此错误的第二个参数是什么意思吗?当我试图播放来自url流的音频时,我会不断收到它。我尝试从一个扩展BaseExpandableListAdapter的类中播放它(如果有必要的话)。我已经回顾了这篇文章,但是所有的答案都提到了流支持问题。在我的例子中,这不是流支持的问题,因为我可以播放来自同一流的音频,但只是使用不同的类。这是我玩游戏时使用的一种方法: private void startPlaying(String fileName) { mediaPla

有人知道MediaPlayer中此错误的第二个参数是什么意思吗?当我试图播放来自url流的音频时,我会不断收到它。我尝试从一个扩展BaseExpandableListAdapter的类中播放它(如果有必要的话)。我已经回顾了这篇文章,但是所有的答案都提到了流支持问题。在我的例子中,这不是流支持的问题,因为我可以播放来自同一流的音频,但只是使用不同的类。这是我玩游戏时使用的一种方法:

private void startPlaying(String fileName) {
    mediaPlayer = new MediaPlayer();

    try {
        if (fileInputStream != null) {  // Read a file from a fileInputStream from a filesystem (EXTERNAL OR INTERNAL storage)
            mediaPlayer.setDataSource(fileInputStream.getFD());
            Log.d("MediaPlayer is playing", "from device");

        } else {
    //      mediaPlayer = new MediaPlayer();
            mediaPlayer.setDataSource(getFilePath());   // Read a file from a url
            Log.d("MediaPlayer is playing", "from stream");             
        }
        mediaPlayer.prepare();
        mediaPlayer.start();
        mediaPlayer.setOnCompletionListener(new CompletionListener());


    } catch (IOException e) {
        Log.e(LOG_TAG, "prepare() failed");
    }
}

在这种情况下,错误通常是以下之一:

  • 文件路径出错。找到不正确的目录、Url或Uri
  • 媒体文件错误,格式不兼容
  • 缺少权限
  • 下面是一个很好的博客,概述了这些情况以及如何解决它们:

    另请参见此线程:


    您可以发布完整的堆栈跟踪吗?请确保在启动新的mediaPLayer之前执行mediaPLayer.release()(在开始时执行)。文件路径出错-我没有注意到我放置了两次文件扩展名。谢谢你的帮助!