[SoundPool] エミュレータでは音が鳴るのに実機で音が鳴らない時の確認事項 [Android Studio]

Android

Android StudioでSoundPoolを使って音声を再生するコードを書いたのですが、エミュレータでは音が鳴るのに、実機では音が鳴らない問題に遭遇しました。

Logcatを見てみると、以下のエラーメッセージが表示されていました。

E/NdkMediaExtractor: sf error code: -1010
E/SoundPool: Unable to load sample
W/SoundPool:   sample 1 not READY

SoundPoolの音声ファイルの読み込みに失敗しているようでした。エラーメッセージで検索しても解決策が見つからず、ソースコードを見ても問題がなく、途方に暮れていたのですが、Androidの公式ドキュメントの「サポートされているメディア形式」を見て、わかりました。

私は44.1kHz 32bitのwavファイルを使っていたのですが、サポートされているwavファイルのビットレートは8bit16bitでした。

8 ビットと 16 ビットのリニア PCM(最大レートはハードウェアの上限値)。Raw PCM 録音のサンプリング レートは、8,000 Hz、16,000 Hz、44,100 Hz。

KotlinでのSoundPoolのコードの書き方については、以下の本に掲載されてます。

広告