【问题标题】:Save ByteArray generated by Pixel Bender保存 Pixel Bender 生成的 ByteArray
【发布时间】:2010-07-16 19:33:52
【问题描述】:

我正在构建一个 Flash 应用程序,它允许用户混合两个 mp3 文件并将混合后的结果发送到我们的服务器。

使用 Pixel Bender 我已经能够创建混音:

 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

 }

不确定 event.byteArray 是否可以转换为 mp3 文件?理想情况下,我们会将 mp3 发送到我们的服务器进行上传。

【问题讨论】:

    标签: flash actionscript-3 mixing pixel-bender


    【解决方案1】:

    Shine MP3 是一个开源 mp3 编码器,用于移植 Alchemy 的 Flash:http://code.google.com/p/flash-kikko/

    另外,在 sazameki 音频操作库中有一个 WAV 编码器: http://www.libspark.org/svn/as3/sazameki/trunk/src/org/sazameki/audio/format/Wav.as

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2014-05-03
      • 2021-06-12
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多