一連のサウンドファイルを含む拡張ファイルがあります。長いものは.mp3ファイルで、短い効果音は.wavファイルです。圧縮せずに.zipファイルにパックします。Googleが提供するZipファイルリーダーとダウンローダーライブラリを使用しています。
私は次のようにサウンドファイルを開いています:
MediaPlayer mPlayer;
...
AssetFileDescript asd = expansionFile.getAssFileDescriptor(fileName);
FileDescriptor soundFile = asd.getFileDescriptor();
mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(soundFile);
mPlayer.prepare();
mPlayer.start();
奇妙なことに、毎回同じサウンドファイルが再生されます。それはそれが最初に見つけたものは何でもあるようです。とのバイトサイズはasd.getDeclaredLength()
、asd.getLength()
まさにそれがどうあるべきかです。これは、ファイル記述子が少なくともファイルを検出していることを意味しますが、何らかの理由で、MediaPlayerは決定したランダムファイルを再生します。
私はここで何が欠けていますか?どんな助けでも大歓迎です。
ありがとう。