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



我正在尝试使用以下代码加载/播放声音(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: Prepare failed.: status=0x1

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

MediaPlayer mediaPlayer = new MediaPlayer();

然后是:FileInputStream or mp.setDataSrouce

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

可能是我只是没有正确理解上下文。或者我的声音文件有问题(但这是一个正常的小方法,所以我认为不是这个)。

有什么想法吗?

您应该具有从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);

有关详细信息,请参阅此答案。

这对我有用:

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

确保导入:

import android.media.MediaPlayer;

相关内容

  • 没有找到相关文章

最新更新