播放本地mp3时出现未知错误媒体文件

时间:2015-10-07 09:11:09

标签: java android

我有问题,当我想在存储卡中播放mp3文件时,在galaxy note3,galaxy s3和galaxy s5上显示“未知错误媒体文件”如何解决问题?该文件与Android音乐播放器正常播放但在我的程序中无法正常工作。谢谢

 MediaPlayer mp = new MediaPlayer();
 mp.setDataSource(PATH_TO_FILE);
 mp.prepare();
 mp.start();
抱歉英语不好

1 个答案:

答案 0 :(得分:0)

事实证明,错误-2147483648表示未知错误。这可能与mp3编码有关,但是也值得检查文件路径是否存在以及MediaPlayer是否有权读取它。

我的问题是我用Context.MODE_PRIVATE(默认值)编写我的文件。

openFileOutput(filename, Context.MODE_PRIVATE);

这表示只有您的应用程序才能访问该文件。我不知道具体如何或为什么,但在Jelly Bean及以上版本中,似乎允许视频视图访问您指定的文件,就像它是您的应用程序一样,但在Jelly Bean之前,视频视图试图打开文件在自己的上下文中(不是您的应用程序)。由于模式是私有的,因此失败。

一种解决方案是使用Context.MODE_WORLD_READABLE编写文件,现在已弃用。这表示任何人都可以在该路径上打开该文件。这显然是不安全的,不鼓励。

这解决了我的问题,希望也是你的问题!

试试这个:

MediaPlayer mpintro =     MediaPlayer.create(this,Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Music/intro.mp3"));// example for path
        mpintro.setLooping(true);
        mpintro.start();