如何在android中播放资源目录中的音频文件

Bik*_*ken 1 audio android audio-streaming avaudioplayer

我无法播放 2 秒的小音频剪辑。我已经尝试了 stackOverflow 中提到的与此问题类似的每个排列。即使是似乎对其他人有用的解决方案,也没有任何东西对我有用。我不知道是因为我没有物理设备可以测试还是其他什么原因。

我收到“找不到活动”错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.category.ACTION_VIEW dat=R.raw.song_name.mp3 }
Run Code Online (Sandbox Code Playgroud)

我的播放音频的代码:

Uri uri = Uri.parse("R.raw.song_name.mp3");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setType("audio/*");
intent.setData(uri);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我的文件存储在:

res/raw/song_name.mp3

我没有对 AndroidManifest.xml 做任何额外的事情。我正在模拟器上运行这个应用程序。这是导致此错误的原因吗?

小智 8

您可以使用 MediaPlayer 类来代替使用 Intent。

MediaPlayer mp;
mp=MediaPlayer.create(getApplicationContext(),R.raw.song_name.mp3);
mp.start();
Run Code Online (Sandbox Code Playgroud)

我希望这能起作用。