Android中的原始文件夹

时间:2012-08-15 20:53:18

标签: java android

我正在尝试在应用程序中播放声音效果。无论我到哪里,都被告知要在res目录中添加 raw 文件夹(在eclipse中工作)。

首先,我在res下添加raw文件夹。然后我将我的.wav文件放入其中。当我尝试在我的代码中使用R.raw.filename时,我收到错误“raw无法解析”。所以我清理并重建了这个项目。突然间,我使用R.id或R.anything的每个地方都被强调为错误。当我查找错误时,发现它与Android.R有关。我所做的一切都无法解决。所以我删除了原始文件夹并重建了项目。一下子,一切都很好。

我重复了这个过程大约4次,我不知道为什么添加原始文件夹会很痛苦。谁能告诉我我做错了什么?

4 个答案:

答案 0 :(得分:5)

您的.wav文件中是否包含名称中的无效字符?检查构建中某处是否显示以下消息:

  

Unparsed aapt错误!检查控制台输出。

  

文件名无效:必须仅包含[a-z0-9 _。]

只有小写字母,数字,下划线和句点对名称和扩展名有效。

答案 1 :(得分:2)

使用assets文件夹和...

InputStream sound = getAssets().open("filename.mp3");

...或raw文件夹和...

InputStream sound = getResources().openRawResource(R.raw.filename);

只需确保名为filename的文件中存在名为raw的文件。

如果R.*的所有用法都带有下划线,请删除Maxim提到的课程上半部分的导入android.R

答案 2 :(得分:0)

显然你的活动添加了导入android.R,之后所有与R的引用都进入了android框架(android.jar),它对你的原始文件一无所知。只需检查导入,如果你看到android.R,删除它并添加com.my_app_namespace.R应该在那之后工作

答案 3 :(得分:0)

我不确定这是否算作解决方案,但是当我使用.ogg文件而不是.wav文件时,一切都运行得很好。