2010-07-16 22 views
0

Je construis une application Flash qui permettra à un utilisateur de mixer deux fichiers mp3 et d'envoyer le résultat mélangé à notre serveur.Enregistrer ByteArray généré par Pixel Bender

utilisant Pixel Bender Je suis déjà en mesure de créer un mélange:

public class Mixer 
{ 
    [Embed(source="mix.pbj", mimeType="application/octet-stream")] 
protected var NewFilter:Class; 
    private var shader:Shader; 
    private var shaderJob:ShaderJob; 
    protected var _output:ByteArray; 
    shader = new Shader(new NewFilter() as ByteArray); 

    private function onSampleDataHandler(event:SampleDataEvent):void 
    { 
     var width:int = 1; 
     var height:Vector.<int> = new Vector.<int>(numOfTracks); 
     for (var i:int = 0; i < numOfTracks; i++) 
     { 
      buffer[i] = new ByteArray(); 
      sound[i].extract(buffer[i],BUFFER_SIZE * 4); 
      height[i] = buffer[i].length >> 4; 
      buffer[i].position = 0; 
      shader.data["src"+i]["input"] = buffer[i]; 
      shader.data["src"+i]["width"] = width; 
      shader.data["src"+i]["height"] = height[i]; 
     } 

     shaderJob = new ShaderJob(shader, event.data,width, height[0]); 
    shaderJob.addEventListener(Event.COMPLETE, onShaderJobComplete, false, 0, true); 
     shaderJob.start(false); 
} 

protected function onShaderJobComplete(event:ShaderEvent):void 
{ 
     // event.byteArray is the result 

} 

Je ne sais pas si le event.byteArray peut être transformé en un fichier mp3? Idéalement, nous enverrions le mp3 à notre serveur pour le téléchargement.

Répondre