1
下面的代碼(不是真的由我寫的)用於通過一個InputStream寫一個wav文件的數據,Android的AudioTrack
(不重要了我的問題...)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()
來檢查文件的大小並查看何時停止播放/播放。不過我已存儲的語音文件我在Android Resources (R.raw.example)
並打開它使用:
in = mResources.openRawResource(ResId);
這給了我一個InputStream
。這使我無法使用類似於File.length()
的任何內容,因此我不知道文件何時播放。
有誰知道如何實現類似第一個例子?