1
Je suis la diffusion du flux en utilisant un tiers sdk et après l'ajout de rappel, je suis en mesure d'obtenir le ByteBuffer
de l'audio, mais quand je l'ai enregistré sur le sdcard pas en mesure de le lire.Android Store données de ByteBuffer au stockage
ici est extrait de mon code
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();
}
}
}
Même problème impossible de lire le fichier –
Quelle est l'erreur? –
Il n'y a pas d'erreur lors de l'écriture du fichier, la seule chose est que je ne peux pas lire le fichier mp3 –