1
我使用第三方sdk廣播流並添加回調後,我成功地獲得了音頻的ByteBuffer
,但是當我將它保存到SD卡時無法播放它。Android將數據從ByteBuffer存儲到存儲
這裏是我的代碼片段
long startedTime = -1;
@Override
public void onAudioBuffer(ByteBuffer byteBuffer, int i, long l) {
if (bufferedOutputStream == null)
createFile();
Log.e(TAG, "i:" + i);
Log.e(TAG, "l:" + l);
Log.e(TAG, "byteBuffer capacity:" + byteBuffer.capacity());
Log.e(TAG, "byteBuffer length:" + byteBuffer.array().length);
if (startedTime == -1) {
startedTime = System.currentTimeMillis();
createFile();
} else if (System.currentTimeMillis() - startedTime > 10000) {
try {
bufferedOutputStream.close();
startedTime = -1;
} catch (IOException e) {
Log.e(TAG, "byteBuffer bufferedOutputStream closing err:" + e.getMessage());
e.printStackTrace();
}
return;
} else {
try {
byte[] bytes = new byte[byteBuffer.capacity()];
byteBuffer.get(bytes, 0, bytes.length);
bufferedOutputStream.write(bytes);
byteBuffer.clear();
} catch (IOException e) {
Log.e(TAG, "byteBuffer bufferedOutputStream writhing err:" + e.getMessage());
e.printStackTrace();
}
}
}
同樣的問題無法播放文件 –
有什麼錯誤? –
寫入文件時沒有錯誤,唯一的是我無法播放mp3文件 –