実現したいこと
Android Studio を使用しています。開発言語は java です。
(※Android Studio Giraffe | 2022.3.1 Patch 2)
SoundPool でmp3ファイルを出力しています。
raw フォルダ直下に、mp3ファイルを設置している場合は、参照できるのですが、
raw フォルダ内に「サブフォルダ」を設置して、その中にmp3ファイルを設置した場合は、参照できずにエラーが発生します。
サブフォルダ内のリソースファイルを参照する方法がわかりません。
そもそもサブフォルダを設置することが、間違いなのでしょうか?
どなたか、教えていただけると、助かります。
発生している問題・分からないこと
実機でテストをしていて、
Logcatを見ると(見方はよくわからないのですが…)、
ioctl c0044901 failed with code -1: Invalid argument(無効な引数)
とあり、ここでアプリが落ちるようです。
エラーメッセージ
error
1ioctl c0044901 failed with code -1: Invalid argument
該当のソースコード
java
1//動くコード: raw フォルダ直下 >> 2 filename = "sound_doremi"; 3 id = context.getResources().getIdentifier(filename, "raw", context.getPackageName()); 4 _sound = _soundPool.load(context, id, 1); 5 6//動かないコード: raw フォルダ内のサブフォルダ >> 7 filename = "my_sub_folder/sound_doremi"; 8 id = context.getResources().getIdentifier(filename, "raw", context.getPackageName()); 9 _sound = _soundPool.load(context, id, 1); 10 //※一番最後の行でアプリが落ちます。
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
チャットGPTでは「サブフォルダ名とファイル名」を変数に格納するように、教えてくれました。
filename = "my_sub_folder/sound_doremi";
しかし、ダメでした。
補足
特になし

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/02/17 12:06
2024/02/17 17:47