0

アプリケーションで効果音を再生しようとしています。どこを見ても、resディレクトリに生のフォルダーを追加するように言われています(Eclipseで作業しています)。

まず、res の下に raw フォルダーを追加します。次に、.wav ファイルを中に入れます。コードで R.raw.filename を使用しようとすると、「raw を解決できません」というエラーが表示されます。そのため、プロジェクトをクリーンアップして再構築します。突然、R.id または R.anything を使用したすべての箇所にエラーとして下線が引かれました。エラーを調べてみると、Android.R が関係していることがわかりました。私がそれを修正することはできませんでした。そのため、raw フォルダーを削除して、プロジェクトを再構築しました。突然、すべてがうまくいきます。

このプロセスを約 4 回繰り返しましたが、raw フォルダーを追加するのがなぜそんなに面倒なのかわかりません。誰が私が間違っているのか教えてもらえますか?

4

4 に答える 4

5

名前に無効な文字が含まれている .wav ファイルはありますか? ビルドのどこかに次のメッセージが表示されるかどうかを確認してください。

解析されていない aapt エラーです! コンソールの出力を確認します。

無効なファイル名: [a-z0-9_.] のみを含める必要があります。

名前と拡張子には、小文字、数字、アンダースコア、およびピリオドのみが有効です。

于 2012-08-15T23:43:32.023 に答える
2

フォルダを使用assetsして...

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

... またはrawフォルダと ...

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

というファイルfilenameが というディレクトリに存在することを確認してrawください。

のすべての使用に下線が引かれている場合は、マキシムが述べたように、クラスの上部にR.*あるインポートを削除してください。android.R

于 2012-08-15T20:56:31.720 に答える
0

どうやらあなたのアクティビティは import android.R を追加したようです。その後、R を使用したすべての参照は、生ファイルについて何も知らない Android フレームワーク (android.jar) に送られます。インポートを確認し、android.R が表示されている場合は、それを削除して com.my_app_namespace.R を追加します。その後は動作するはずです

于 2012-08-15T20:57:49.277 に答える
0

これが解決策になるかどうかはわかりませんが、.wav ファイルの代わりに .ogg ファイルを使用すると、すべてが完全に機能しました。

于 2012-08-16T16:17:13.317 に答える