Android媒体播放器状态= 0x1错误,想播放声音

时间:2017-02-23 08:16:39

标签: android audio

我正在尝试使用以下代码加载/播放声音(I have file /res/raw/fx2.wav)

MediaPlayer mp = MediaPlayer.create(this, R.raw.fx2);

MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.fx2);

我得到了这个错误:

  

java.io.IOException:准备失败:status = 0x1

我搜索了这个错误,但没有一个答案有工作代码。 这样的例子也有:

MediaPlayer mediaPlayer = new MediaPlayer();

然后是: FileInputStream or mp.setDataSrouce

我正在尝试这些,但到目前为止我没有任何工作,我不知道什么方法最适合我或在什么情况下应该使用它们?我只想加载并播放声音。

可能我只是没有正确地获得上下文。或者我的声音文件有问题(但这是一种正常的小方式,所以我认为不是这样)。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您应该有权从AndroidManifest.xml文件中读取外部存储器中的文件。

<manifest ...>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
...
</manifest>

您还应该尝试使用以下代码更改文件的路径(将com.example.myapp更改为您的包名称):

MediaPlayer mp = new MediaPlayer();
Uri uri = Uri.parse("android.resource://com.example.myapp/" + R.raw.fx2);
mp.setDataSourceUri(this, uri);

有关详细信息,请参阅this answer

答案 1 :(得分:0)

这对我有用:

MediaPlayer mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.beep);
mediaPlayer.start();

确保您要导入:

import android.media.MediaPlayer;