¿Grabar audio en streaming en java?

Estoy intentando configurar un progtwig para grabar una parte de una transmisión de audio de Internet y guardarlo en un archivo (preferiblemente mp3 o wav). He buscado en todas partes y no puedo encontrar ninguna manera decente de hacer esto. Encontré dos bibliotecas diferentes que parecían funcionar (NativeBass y Xuggle), pero ninguna de las compatibles con Windows de 64 bits es lo que necesito.

¿Alguien sabe de alguna forma simple de guardar una porción de una transmisión de audio de Internet usando java? (Si es importante, es un flujo de “audio / mpeg”).

EDIT: Bueno, he encontrado una manera que parece funcionar. Pero todavía tengo una pregunta

import java.net.URLConnection; import java.net.URL; import java.io.InputStream; import java.io.OutputStream; import java.io.FileOutputStream; import java.io.File; public class Test{ public static void main (String[] args){ try{ URLConnection conn = new URL("http://streamurl.com/example").openConnection(); InputStream is = conn.getInputStream(); OutputStream outstream = new FileOutputStream(new File("C:/Users/Me/Desktop/output.mp3")); byte[] buffer = new byte[4096]; int len; long t = System.currentTimeMillis(); while ((len = is.read(buffer)) > 0 && System.currentTimeMillis() - t <= 5000) { outstream.write(buffer, 0, len); } outstream.close(); } catch(Exception e){ System.out.print(e); } } } 

Obtuve la mayor parte de esto de otra respuesta aquí después de un poco más de búsqueda. Sin embargo, una cosa que estoy tratando de hacer es grabar solo por un cierto tiempo. Como puede ver arriba, intenté grabar solo un intervalo de 5 segundos.

 long t = System.currentTimeMillis(); while ((len = is.read(buffer)) > 0 && System.currentTimeMillis() - t <= 5000) { 

Sin embargo, por una razón u otra, el audio grabado no dura 5 segundos, es 16. ¿Alguien sabe cómo ser más preciso al limitar la duración de la transmisión?

Si desea exactamente 5 segundos, puede calcularlo usted mismo según la cantidad de bytes que haya recibido y la velocidad de bits de la transmisión de audio.

    Intereting Posts