如何将erayray录制的麦克风作为wav或mp3从flash actionscript导出到php

时间:2011-07-30 00:44:47

标签: php flash actionscript-3 flash-builder

我需要帮助将bytearray导出到wav或mp3(或任何运行的东西!)从我的flash代码导出到我的php页面。

我正在使用麦克风录音机录制语音,我使用网址请求将我的ByteArray发送到我的PHP页面。

我从flash发送再见数组:

var url =“http://localhost/wordswesay/uploads/testrec.php”;                 var header:URLRequestHeader = new URLRequestHeader(“Content-type”,“application / octet-stream”);                 var request:URLRequest = new URLRequest(url);

            request.requestHeaders.push (header);
            request.method = URLRequestMethod.POST;

            request.data = soundBytes; //FLV byteArray  
            var loader:URLLoader = new URLLoader();

            trace(request.data);
            loader.load(request)

在我的php文件中,我执行以下操作:

<?php

echo "test";

  $im =  $GLOBALS["HTTP_RAW_POST_DATA"];
    $fp = fopen("test.wav", 'w');    
    fwrite($fp, $im);
    fclose($fp);

?>

在服务器端(sime文件作为php脚本)我得到test.wav大约200kb但我无法播放它!媒体播放器表示它无法播放此文件,因为可能不支持编解码器。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

音频文件比音频字节更多,需要一个格式特定的标题,并且字节需要以特定于格式类型的方式存储,这通常(例如mp3)不同然后Flash将给你的原始字节(已经解码)

在Google上查看一个音频编码器,无论是在AS3还是PHP中,都会将你的字节转换成mp3文件,我确信有一些东西,但我不知道有哪一个。希望这能解释为什么它不起作用,并将你推向正确的方向。古德勒克!