Android 访问MediaPlayer的原始文件

Android 访问MediaPlayer的原始文件,android,android-mediaplayer,android-resources,Android,Android Mediaplayer,Android Resources,我有一些原始音乐文件,我想让一台MediaPlayer播放。经过多次尝试,我终于能够让MediaPlayer在歌曲之间切换。但是,我的一个原始文件不断返回FileNotFoundException。这对我来说很奇怪,因为我把它导入了我的原始文件夹,就像所有其他可以工作的文件一样。我也以与其他文件完全相同的方式访问它 下面是我访问该文件的代码(称为victory_music): 下面是我访问其他文件的代码(它实际工作的地方): 及 下面是我得到的错误: 05-30 16:20:24.439: E/

我有一些原始音乐文件,我想让一台MediaPlayer播放。经过多次尝试,我终于能够让MediaPlayer在歌曲之间切换。但是,我的一个原始文件不断返回FileNotFoundException。这对我来说很奇怪,因为我把它导入了我的原始文件夹,就像所有其他可以工作的文件一样。我也以与其他文件完全相同的方式访问它

下面是我访问该文件的代码(称为victory_music):

下面是我访问其他文件的代码(它实际工作的地方):

下面是我得到的错误:

05-30 16:20:24.439: E/AndroidRuntime(3151): java.lang.RuntimeException: Unable to start        activity ComponentInfo{com.my.app/com.my.app.MainMenu}: android.content.res.Resources$NotFoundException: File res/raw/you_win from drawable resource ID #0x7f040003
我尝试过清理/构建、删除文件并重新导入,甚至使用完全不同的文件和名称,但现在似乎每当我添加新文件时,它都不再起作用


任何帮助都将不胜感激

Eureka!我知道我犯了某种愚蠢的错误

我在raw中拥有的文件命名不正确。它们应该命名为“title.mp3”,但我刚刚将它们命名为“title”,因为在访问时,您会截断结尾处的文件类型,例如:

R.raw.title
这一定把我弄糊涂了,结果我在我的原始目录中截断了我的名字


但是,我仍然有点不确定为什么我的错误命名约定仍然适用于1MB以上的文件。

因此我发现了问题所在,尽管我不确定为什么会出现问题。对于raw中小于1MB的任何文件,似乎都会出现此错误。我可以通过循环我的声音文件来解决这个问题,直到它们超过1MB。但是,我正在尝试使用SoundPool实现声音效果。这些声音效果自然非常小。它们都小于1MB,并且都给了我与以前完全相同的错误。
mPlayer = MediaPlayer.create(MainMenu.this, R.raw.battle_music);
05-30 16:20:24.439: E/AndroidRuntime(3151): java.lang.RuntimeException: Unable to start        activity ComponentInfo{com.my.app/com.my.app.MainMenu}: android.content.res.Resources$NotFoundException: File res/raw/you_win from drawable resource ID #0x7f040003
R.raw.title