2013-05-29 1 views
13

で.OGGへだから、私は、WebベースのものにiOSアプリを変換してる私が働いているこのHTML5プロジェクトを持っています。アプリのコンテンツ作成に付随する部分はオーディオレコーディングで、プラグインを使わずにJavaScriptで複製しようとしています。これまでは、getUserMedia()からオーディオを録音し、それをRecorder.jsのWAVに変換することができました。エンコードオーディオ()のJavaScript

は今、しかし、私は少し迷ってしまいました。私は現在、録画用と再生用の2つの別々のビューを持っていますが、Recorder.jsという形式のオーディオをJSONペイロードにエクスポートして再生する方法はわかりません(サーバーを強制しないでくださいアップロードまたはクライアントのダウンロード)。

私は具体的な質問は、Recorder.jsで作成されたBLOBオブジェクト(ほとんど何もわかっていないもの)をどのように取って生データにするか、何らかの形でJSONを通してファイルを送信することです。

UPDATE:私がしようとすると(.WAVよりもはるかに小さい).OGGをエンコードするためにspeex.jsツール(https://github.com/jpemartins/speex.js)を使用することにしました。しかし、私はそれをどのように使用するのかは分かりません。デモページは私のためには機能していないようで、Speexオブジェクトの.encode()関数を実際にデータをエンコードするようには見えません。オブジェクトフィールドにはゼロしかありません。誰もこのタイプのツールの使い方を知ることができるリソースを知っていますか?動作するはずライブラリ(MITがライセンス)があり

+0

...しかし、私はそれは私たちがここで扱っているという高度なJavaScriptのだと言うだろう - の概念を理解するには一見の価値時にはそれはかなり挑戦的であると感じる。再生のためにJSONペイロードはどういう意味ですか?あなたは '

+0

そして、あなたはテキストにブロブを変換したい場合は、[FileReaderの](https://developer.mozilla.org/en-US/docs/Web/API/FileReader?redirectlocale=en-US&redirectslugを見て取ることができます= DOM%2FFileReader#readAsText%28%29)オブジェクトです。このメソッドはBlobを引数としてとり、それをテキストに変換します。しかし、私はそれを正確に使う方法がわからない、あるいはそれが私が思っていることさえしているのであれば。それをもっと詳しく見るチャンスはありませんでした。 – basilikum

+0

ありがとう、私はちょうどFileReaderを見ていた。 「生データ」とは、レコーダーによって書き出された.WAVファイルに含まれる実際のデータです。最終的にはiPadとブラウザの間で送信できるはずなので、.WAVファイルを送信できることは非常に有益です。 私がいる問題は、私は私だけのタイプと長さ、明白なデータとBLOBオブジェクトを持っているので、.WAVファイルの実際のデータを送信する方法がわからないということです。 – twchapman

答えて

0

、私は少し前のウェブサイト上でgetUserMediaオーディオストリームからOGGファイルを保存するために使用されているこの正確なライブラリを見ていると信じています。私は漠然とライブラリの名前を覚えて、私は、これは一つだと思い:

https://github.com/streamproc/MediaStreamRecorder/blob/master/AudioStreamRecorder/MediaRecorder.js

GitHubの上、プロジェクト全体:それはこれを達成するために懸命に思えるので https://github.com/streamproc/MediaStreamRecorder/

、それは、少なくともかもしれません私も現在getUsetMediaでsomethigを設定しようとしていると私はまだいくつかのチュートリアルが、私を試してみた

+1

実際にはこのlibはOggファイルをエンコードしませんが、 justsはwaveを記録し、0ggのMIMEタイプを使用します。 oggファイルをエンコードするには、https://www.webrtc-experiment.com/ffmpeg/wav-to-ogg.htmlを使用してください。 – Lelis718