私の問題は、ユーザーがあなたの声を録音し終えたときにフラッシュアプリケーションが生成するオーディオファイル(.wav)を保存することです。
このために、次のリンクを使用します:http: //active.tutsplus.com/tutorials/actionscript/create-a-useful-audio-recorder-app-in-actionscript-3/
ただし、これはクライアントの音声のみを保存します。サーバーに保存するためにこれを変更する必要があります。
コードの一部は(MAIN.ASに)あります:
private function recordComplete(e:Event):void{
fileReference.save(recorder.output, "recording.wav");
}
ここで、最初の引数(recorder.output)は私のファイルで、2番目の引数は私のファイルの名前です。
私はこれのためにこの方法を変更します:
private function recordComplete(e:Event):void{
var urlReq:URLRequest = new URLRequest("extract_voice.php");
urlReq.method = URLRequestMethod.POST;
urlReq.contentType = "application/octet-stream";
//var urlVars = new URLVariables();
//urlVars.fileAudio = recorder.output;
urlReq.data = recorder.output;
//var loader:URLLoader = new URLLoader(urlReq);
//loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(urlReq);
}
そして私のextract_voice.phpは次のとおりです。
$recorder = file_get_contents('php://input');
$name = basename($recorder);
$status = move_uploaded_file($recorder, 'http://localhost/recording/audiofiles/' . $name);
if($status){
echo 'WORK';
}
ただし、録音を停止するときは、ファイルを自分のマシンに保存するためのポップアップを常に表示してください。(クライアント)しかし、サーバーにはありません。
誰でも私が何をする必要があるか私に言うことができますか?または他の解決策が存在する場合は?(RED5のようですが、これは私には機能しません)