https://code.google.com/p/wami-recorder/から取得した元のコード(MITライセンスの下)
コードの更新、jQueryの調整、およびイグナシオサントリンによるいくつかの修正
この記事の執筆時点では、ほとんどのブラウザはWebrtcのgetUsermedia()をサポートしていません
http://caniuse.com/#search=stream
これは、JavaScriptを介してWeb開発者のマイクアクセスを提供することを約束します。このプロジェクトは、Flashをサポートするブラウザにとって次に最適なものを実現します。 WAMIレコーダーを使用して、独自のメディアサーバーソフトウェアをインストールせずにサーバーでオーディオを収集できます。
WAMIレコーダーは、Light-Weight Flashアプリを使用して、標準のHTTP投稿を介してクライアントからサーバーにオーディオを発送します。マイクアクセスを許可するセキュリティ設定とは別に、インターフェイス全体をHTMLとjQueryで構築できます。
Flashアプリは、その重要なパラメーターと機能のほとんどをJavaScriptに公開します。
Wami.startRecording(myRecordURL);
Wami.stopRecording();
Wami.startPlaying(anyWavURL);
Wami.stopPlaying();
尊敬されているSWFOBjectライブラリを使用してFlashアプリを埋め込み、例コードと同じ方法でアクセスできます。さまざまなブラウザとオペレーティングシステムで、FlashとJavaScriptの特異性を知るために、Quirksページをご覧ください。
フラッシュコンテンツを変更する場合は、Free Flex SDKをダウンロードして、コマンドラインからコンパイルできます。本格的なIDEの場合、無料のオプションはより制限されています。 Amazon Mechanical Turkを介した調査のためにオーディオを収集するなどの学業用に、無料の教育的Adobe Flash Builderライセンスに登録できます。
ブラウザからオーディオを収集したい場合は、独自のサーバーをホストする必要性を回避できません。ただし、このプロジェクトの重要な機能は、Webからオーディオを収集するためだけにフラッシュメディアサーバー全体を構成する必要がないことです。好きなサーバー側のテクノロジーを選択できます。たとえば、このシンプルなPHPスクリプトをapache2でホストできます。
Example/server/php/writeaudio.php
このコードは、オプションでURLクエリパラメーターを使用してファイル名を指定していることに注意してください。適切な権限を使用すると、PHPコードはこのNAMを使用してディスクにファイルを書き込みます。記録するたびに別のファイル名を渡して、個々のユーザー、セッション、および発話を区別できます。ブラウザに保存されているJavaScriptとCookieで生成された乱数を使用して、ブラウザリロード全体のユーザーを追跡し、対応するファイルに名前を付けることをお勧めします。上記の例はセキュリティの問題に悩まされており、おそらく実際の展開のために変更されるべきであることに注意する必要があります。
Wami.startRecording('http://localhost/test.php?name=USER.SESSION.UTTERANCE.wav');
再生や録音に使用するURLがSWFファイルにサービスを提供する同じホストを指していない場合、わずかな複雑さが発生します。その場合、オーディオが提供または記録されるホストのルートでCrossDomain.xmlを提供する必要があります。