0

有谁知道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");
    }
}
4

1 回答 1

2

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

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

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

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

另请参阅此线程:

Android 媒体播放器 MediaPlayer(658): 错误 (1, -2147483648)

于 2012-10-21T07:16:13.053 回答