簡體   English   中英

Android中的原始文件夾

[英]raw folder in Android

我正在嘗試在應用程序中播放聲音效果。 我到處看的地方都被告知要在res目錄中添加一個原始文件夾(在Eclipse中工作)。

首先,我將原始文件夾添加到res下。 然后,我將.wav文件放入其中。 當我嘗試在代碼中使用R.raw.filename時,出現錯誤“無法解決原始”。 所以我清理並重建項目。 突然,我使用R.id或R.anything的任何地方都被強調為錯誤。 當我查找錯誤時,事實證明它與Android.R有關。 我沒有辦法修復它。 因此,我刪除了原始文件夾並重建了項目。 突然,一切都很好。

我已經重復了大約4次此過程,但我不知道為什么添加原始文件夾這么麻煩。 誰能告訴我我在做什么錯?

您的.wav文件中是否有任何名稱中包含無效字符? 檢查以下消息是否可能在您的內部版本中顯示:

無法解析的aapt錯誤! 檢查控制台的輸出。

無效的文件名:必須僅包含[a-z0-9_。]

名稱和擴展名僅小寫字母,數字,下划線和句點有效。

使用assets文件夾並...

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

...或raw文件夾和...

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

只要確保名為filename存在於raw目錄中即可。

如果對R.*所有用法都帶有下划線,請刪除類android.R的import android.R ,如Maxim所述。

顯然,您的活動添加了import android.R,之后所有帶有R的​​引用都轉到了對原始文件一無所知的android框架(android.jar)。 只需檢查導入,如果您看到android.R,請將其刪除並添加com.my_app_namespace.R,之后即可使用

我不確定這是否可以作為解決方案,但是當我使用.ogg文件而不是.wav文件時,一切都運行良好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM