クライアント側でオーディオを録音し、処理のためにサーバーに出荷してもらいたいと思っています。クライアント側でオーディオの録音と再生に成功しました。サーバーに情報を投稿する必要があるときに問題が発生します。
私はjwagenersのrecorder.jsを使用しています:https ://github.com/jwagener/recorder.js#readme
サイトのメインディレクトリにcrossdomain.xmlファイルがあります。内容は以下の通りです
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" secure="false"/>
</cross-domain-policy>
彼のドキュメントによる投稿リクエストは、次のようになります。
function upload(){
Recorder.upload({
method: "POST",
url: "http://localhost/fagaudio/recorder/recorder_server.php",
audioParam: "audiofile",
params: {
"name": "test.wav",
},
success: function(responseText){
alert(responseText);
},
error: function(){
}
});
}
サーバー側(recorder_server.php)で私は次のようなことを試みています:
print_r($_POST);
$name = $_POST['name'];
$content = file_get_contents('php://input');
$fh = fopen("audio/".$name, 'w') or die("can't open file");
fwrite($fh, $content);
fclose($fh);
print_rステートメントは次を返します:
配列([名前] =>test.wav[ファイル名]=>audio.wav[アップロード]=>クエリの送信)
生のphp投稿データがないようで、ファイルは空で保存されています。私がしていることに明らかに何か問題がありますか?私はWAMIレコーダーを使用してこれを試しましたが、問題なく動作しますが、問題は、javascriptを介してサーバーに情報を投稿できる必要があり、wamiはすべての記録後に自動的に投稿できることです。
助けや入力を事前に感謝します。また、他の無料のjavascript / flashレコーダーに精通している人がいる場合は、その方向を教えてください。私はすでにいくつかの推奨事項についてスタックオーバーフローを検索しました。