web-dev-qa-db-ja.com

JavaScriptを使用してWebアプリで音声を録音できますか?

FlashまたはJava= Webアプリで音声を録音するためにしか使用できないようです。JavaScriptを介してそれを行う方法はありますか?

18
Tsundoku

それは可能ですが、現時点ではすべてのプラットフォームでソリューションが機能するわけではありません。

<input type="file" accept="audio/*;capture=microphone">

参照 HTML5 Media Capture

現在サポートされている:

Android 3.0ブラウザ、Chrome for Android(0.16)、Firefox Mobile 10.0、iOS6 SafariおよびChrome(部分的にサポート)

リンク:

http://www.html5rocks.com/en/tutorials/getusermedia/intro/

HTML5でのオーディオキャプチャ

16

JavaScriptはハードウェアに直接アクセスできません。必要なのは、クライアント側のテクノロジーです。フラッシュ。

JavaScriptはフラッシュと非常に簡単に通信できるため、フラッシュレコーダーを非表示にして、html/js/cssでレコーダーUIを構築できます。

次に例を示します。 https://github.com/jwagener/recorder.js/blob/master/examples/example-1.html

ここに別のものがあります: http://blogupstairs.com/flashwavrecorder-javascript-flash-audio-recorder/

これはまさにあなたが必要としているものではないことを私は理解していますが、なぜJSソリューションが必要なのかをあなたは言っていませんでした。これはフラッシュの依存関係の問題を解決しませんが、フラッシュなしでUIを構築できるため、UIの問題は解決します。

4

もう1つのよく知られているソリューションはWAMIです。これは純粋なJavaScriptではないことはわかっていますが、役立つ場合があります。

「これを書いている時点では、ほとんどのブラウザーはまだWebRTCのgetUserMedia()をサポートしていません。これにより、Web開発者がJavascript経由でマイクにアクセスできるようになります。このプロジェクトは、Flashをサポートするブラウザーに次善の策を実現します。WAMIレコーダーを使用すると、オーディオを収集できます独自のメディアサーバーソフトウェアをインストールせずにサーバーにインストールします。」 https://code.google.com/p/wami-recorder/

Node.jsを使用した別の例このサンプルアプリケーションはJavaScriptで記述され、WebサーバーとフレームワークにNodeおよびExpressを使用します。これを機能させるには、Webサーバーに3つすべてをインストールする必要があります。 、およびNode.js WebAPIライブラリ nodejs音声録音の例

1
tarcnux

はい、純粋なHTML/JavaScriptの方法がありますが、FirefoxとChromeでのみ機能します。 http://audior.ec/blog/recording-mp3-using-only-html5-and-javascript-recordmp3-js/

直接デモ: http://audior.ec/recordmp3js/

1
Octavian Naicu