我正在录制网络摄像头数据并发送到.php,以便稍后在flash中存储和查看。该元素工作正常,但每次执行此操作时,我需要根据flash中设置的变量为文件提供唯一的id。
这是我用来将flv作为bytearray发布的代码:

     var url_ref:URLRequest = new URLRequest("save_vid.php");
     url_ref.contentType = 'application/octet-stream';
     url_ref.data = _baFlvEncoder.byteArray;//url_data;
     url_ref.method = URLRequestMethod.POST;
     urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
     try {
             urlLoader.load( url_ref );
         } catch (e:Error) {
             trace(e);
         }

我需要附加到php文件中的文件名集中的变量:
    var currentVideo:String;
    var currentName:String;

到目前为止我的php文件:
    <?php
    echo 'Data:<pre>';
    print_r($_POST);
    echo '</pre>';
    file_put_contents("test.flv",$GLOBALS[ 'HTTP_RAW_POST_DATA' ]);

    $sCurrentVideo = $_POST['currentVIdeo'];

    $sCurrentName = $_POST['currentName'];
    ?>++

这里有人能指引我正确的方向吗?提前谢谢。

最佳答案

您需要使用“URLVariables”类。
Here is a helpful tutorial explaining it's usage.
创建它的一个实例,设置与您想要设置的两个变量相匹配的值,同时添加原始视频数据。

// Define the variables to post
var urlVars:URLVariables = new URLVariables();
urlVars.currentVideo = currentVideo;
urlVars.currentName = currentName;
urlVars.videoData = _baFlvEncoder.byteArray;

然后在urlReq中,将数据设置为等于urlVars实例:
url_ref.data = urlVars;

然后,您将能够在php中的$_post变量中访问这些值。
file_put_contents("test.flv",$_POST[ 'videoData' ]);

09-16 21:45
查看更多