Tengo una pista de audio en mp3 y necesito extraerla a un bytearray para luego mezclarla con la captura del micrófono, el problema es que al pasar el mp3 al bytearray, el audio se realentiza, exactamente a la mitad.
La pista dura 1:11 min, y el archivo que genero luego de extraer es de 2:22 min.
Imagino que tiene que ver con los canales (izquierdo y derecho), pero no tengo mucha experiencia trabajando con audio.
Esta es una parte del código:
Código AS3:
Ver original
// Variables var pista:Sound = new Pista(); // corresponde a un MP3 en la biblioteca var pista_sound_channel:SoundChannel = new SoundChannel(); var pista_data:ByteArray; var waveEncoder:WaveEncoder = new WaveEncoder(); // Lanzo la pista pista_sound_channel = pista.play(); pista_sound_channel.soundTransform = new SoundTransform(1); // Extraigo pista_data = new ByteArray(); pista.extract(pista_data, (pista.length * 44.1), 1); pista_data.position = 0; // Almaceno el MP3 en el server... var url:String = ""; // Path al PHP req = new URLRequest(url); wav_data = waveEncoder.encode(pista_data, 1); req.requestHeaders = new Array(new URLRequestHeader("Content-Type", "audio/wav")); req.contentType ="'application/octet-stream"; req.method = URLRequestMethod.POST; req.data = wav_data; loaderjp.load(req);
Saludos!