1
次のコードは、(実際に私が書いていない)アンドロイドのAudioTrack
(私の質問のために重要でない...)に、InputStreamを使用してwavファイルのデータを書き込むために使用されAndroidリソースの代わりにFile.length()を使用しますか?
int bytesread = 0, ret = 0;
int size = (int) file.length();
at.play();
while (bytesread < size) {
ret = in.read(byteData, 0, count);
if (ret != -1) { // Write the byte array to the track
at.write(byteData, 0, ret);
bytesread += ret;
}
}
あなたはJavaのFile
クラスを使用する場合は、 File.length()
を使用してファイルのサイズを確認し、いつストリーミング/再生を停止するかを確認できます。しかし、私はアンドロイドResources (R.raw.example)
で私audiofilesを格納しているし、私が使用して開きます:
in = mResources.openRawResource(ResId);
私InputStream
を与えます。これにより、私はFile.length()
と似たようなものを使うことができなくなり、そのファイルがいつ再生されたのか分かりません。
誰もが最初の例と同様のものを達成する方法を知っていますか?