HTTP ブラウザー経由でクライアントのマイクからサーバーにデータを取得する方法について質問があり、その答えは「フラッシュまたは Javaサーブレットアプレットを使用する」でした。いいけどどうやって?サンプルコードやチュートリアルはありますか? バニラサーバーで実行できますか、それともアドビメディアサーバーが必要ですか?
3 に答える
答えは、「Javaサーブレット」ではなく、「フラッシュまたはJavaアプレットを使用する」ことだったと思います。あなたの問題のために、2つのことを実装する必要があります:
- オーディオをキャプチャし、リモート サーバーに接続してファイルをアップロードする、ユーザーのブラウザーで実行されるクライアント アプリケーション。
- アップロードされたファイルを受け入れる Web アプリケーション。
ブラウザからオーディオを直接録音することは不可能であるため、クライアント アプリケーションはブラウザのプラグイン テクノロジで実装する必要があります。これは、フラッシュまたは Java アプレットで実行できます。これらは唯一のオプションではありませんが、最も一般的なオプションです。
マイクにアクセスする ActionScript コードについては、このリンクを参照してください。このブログスポットでは、興味深いことに、Silverlight のオプションについても説明しています。
Java の場合、これは音声録音のチュートリアルです。アプレットを作成する必要がありますが、それほど難しくありません。厄介な問題は、ユーザーのマシンでマイクにアクセスできるようにするために、おそらくアプレットに「署名」する必要があるということです。
サーバー側では、任意のサーバー テクノロジを使用でき、Adobe メディア サーバーは決して必要ありません。例としては、PHP、Java (Tomcat)、ASP.NET があります。ファイルのアップロード部分は、Apache Web サーバーだけでも実行できます。必要なのは、ファイルのアップロードを許可するように構成することだけです。
アップデート:
フラッシュが最善の解決策になるというあなたのコメントに同意します。ActionScript を使用してマイクにアクセスするための多くの例をネットで見つけることができます。これは私がすぐに見つけたものです:
最近、ここに当てはまる可能性のある同様の質問に対する回答を投稿しました。
私の知る限りでは、Flash 10 とサウンド オブジェクトのバイト ストリームへの新しいアクセスによって可能になるかもしれませんが、まだ誰もそれを行っていません。私自身は Flash プログラマーではありませんが、もしあなたや他の誰かがこの問題を解決しようと思っているなら、喜んでサーバー コンポーネントを手伝いたいと思います。