java mp3 inputstream de tableau d'octets?

avant de vous dire "Google", j'ai essayé, trouvé quelques articles intéressants, mais rien n'a fonctionné.

J'ai besoin de convertir un fichier mp3 à partir d'un site web à un flux d'octets, que je puisse ensuite l'enregistrer dans un fichier local.

Voici mon code (le plus important):

Url url = new Url("someUrl");
URLConnection conn = url.openConnection();
byte[] result = inputStreamToByteArray(conn.getInputStream());
//.... some code here
byteArrayToFile(result, "tmp.mp3");

public byte[] inputStreamToByteArray(InputStream inStream){
    InputStreamReader in = new InputStreamReader(inStream):
    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    int next = inStream.read();
    while (next > -1){
        baos.write(next);
        next = in.read();
    }

    byte[] result = baos.toByteArray();
    baos.flush();
    in.close();
    return result;
} 

public void byteArrayToFile(byte[] byteArray, String outFilePath){
    FileOutputStream fos = new FileOutputStream(outFilePath);
    fos.write(byteArray);
    fos.close()
}

Le code compile sans erreurs.
Connexion à l'url est valide. Il envoie le droit de réponse.

Le problème est quelque part dans la conversion.
J'ai également le nouveau fichier sur le disque, après byteArrayToFile () appropriée de la longueur, mais je ne peux pas jouer dans n'importe quel lecteur. Il est dit de longueur 00:00 et ne seront pas jouer.

Btw. Je voudrais éviter un 3ème partie libs. Mais si rien ne fonctionne...

OriginalL'auteur ZolaKt | 2010-11-25