私は次のコードを持っています:
AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3");
player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor());
player.prepare();
player.start();
問題は、このコードを実行すると、要求したオーディオファイルを再生するだけでなく、アセットディレクトリ内のすべてのオーディオファイルをアルファベット順に再生することです。何が悪いのですか?アセットディレクトリからオーディオファイルを再生するより良い方法はありますか?
追加質問:オーディオファイルをアセットディレクトリに保存することと、res / rawディレクトリに保存することの間に違いはありますか?また、assetsディレクトリにある場合はIDを取得しません。オーディオファイルをres / rawフォルダーに移動すると、MediaPlayer
のidパラメーターがないため、sの再利用に問題がありますsetDataSource()
。この種の問題を処理するための適切なガイドラインが見つかりません。