【问题标题】:MediaPlayer error when attempt to play from a stream尝试从流中播放时出现 MediaPlayer 错误
【发布时间】:2012-10-21 15:16:13
【问题描述】:

有人知道 MediaPlayer 中这个错误 (1, -2147483648) 中的第二个参数是什么意思吗?尝试从 url 流播放音频时,我不断收到它。如果这很重要,我会尝试从扩展 BaseExpandableListAdapter 的类中播放它。我已经查看了这篇文章Android MediaPlayer error: MediaPlayer error(1, -2147483648) on Stream from internet,但是所有答案都涉及流支持问题。在我的情况下,这不是流支持问题,因为我能够播放来自同一流的音频,但只是使用不同的类。这是我用来玩的一种方法:

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");
    }
}

【问题讨论】:

  • 你能发布完整的堆栈跟踪吗?
  • 确保在启动新的 mediaPlayer 之前执行 mediaPLayer.release()(您在开始时执行此操作)。

标签: android android-mediaplayer


【解决方案1】:

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

  1. 文件路径错误。找到不正确的目录或 Url 或 Uri。
  2. 媒体文件有误,格式不兼容。
  3. 缺少权限

这是一个很好的博客,概述了这些情况以及如何解决它们:

http://www.weston-fl.com/blog/?p=2988

另请参阅此主题:

Android mediaplayer MediaPlayer(658): error (1, -2147483648)

【讨论】:

  • 文件路径错误 - 我没有注意到我放置了两次文件扩展名。感谢您的帮助!
猜你喜欢
  • 2018-01-14
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多