我有一些原始音乐文件,我希望单个MediaPlayer播放。经过多次尝试,我能够让MediaPlayer在歌曲之间切换。但是,我的一个原始文件不断返回FileNotFoundException。这对我来说很棒,因为我将它导入我的原始文件夹就像所有其他有效的文件一样。我也以与其他文件完全相同的方式访问它。
这是我正在访问该文件的代码(它叫做victory_music):
AssetFileDescriptor afd = CPU.rawToFile(Results.this, R.raw.victory_music);
这是我正在访问其他文件的代码(它实际上在哪里工作):
AssetFileDescriptor afd = CPU.rawToFile(Results.this, R.raw.defeat_music);
和
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
我尝试过清理/构建,删除文件并重新导入文件,甚至使用完全不同的文件和名称,但似乎每当我添加新文件时它现在都不再起作用了。
非常感谢任何帮助!
答案 0 :(得分:0)
尤里卡!我知道我犯了一些愚蠢的错误!
我在raw中的文件没有正确命名。它们应该被命名为#34; title.mp3"但我只是将它们命名为#34; title"因为在访问时会截断末尾的文件类型,例如:
R.raw.title
这一定让我很困惑,最后我在原始目录中截断了我的名字。
我仍然不确定为什么我错误的命名约定仍适用于超过1MB的文件。