問題タブ [web-audio-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
796 参照

javascript - websocket を介して MP3 をストリーミングしようとすると、DOM 例外 12 が発生する

現在、mp3 をフレームに分割し、websocket を介してクライアント (ブラウザー) に送信し、WebAudio (webkitAudioContext) を使用して再生する小さなプロジェクトに取り組んでいます。私のサーバーは nodejs を実行しており、データをバイナリとして転送するには、binaryJS を使用します。私がテストしているブラウザは、Ubuntu 12.04 で実行されている Chrome 25.0.1354.0 dev です。

私は mp3 をフレームに分割することに成功したか、少なくとも私のテストに基づいて、うまくいくようです。フレームをファイルに書き戻すと、mplayer は問題なくファイルを再生し、ヘッダーも正しく解析します。各フレームは正しいサイズの nodejs バッファーに格納され、バッファーの最後のバイトは常に次の同期ワードの前の最初のバイトになります。

最初のテストとして、最初の MP3 フレームのみを送信しています。クライアントはフレームを正常に受信し (ArrayBuffer に格納されます)、バッファには正しいデータが含まれています。ただし、デコードを呼び出すと、次のメッセージが表示されます。

私がdecodeAudioを呼び出す私の関数は、次のようになります。

Deocde しようとしている最初のフレームは、ここにあります

私はこれを解決しようとして、数日間壁に頭をぶつけてきました。誰かがこれを解決し、mp3 フレームを正常にデコードして、私が間違っていることを確認しましたか? StackOverflow で 2 つの関連する質問を見つけましたが、その回答は問題の解決に役立ちませんでした。ただし、ここで受け入れられた回答によると、私のフレームは有効な mp3 チャンクとして認定され、デコードされる必要があります。

助けてくれてありがとう!

0 投票する
1 に答える
1930 参照

javascript - WebAudioApi を使用した Javascript でのオーディオ PCM データのアップサンプリング

プロジェクトでは、Java サーバーから WebSocket 経由でライブ オーディオ ストリームを取得しています。サーバー上で、16Bit/8000hz/mono のサンプルを 8 ビットの符号付きバイト値 (2 バイトで 1 つのサンプルを構成) の形式で処理しています。ただし、ブラウザーでサポートされている最低のサンプルレートは 22050 Hz です。したがって、私の考えは、既存の 8000 から 32000 Hz を「単純に」アップサンプリングすることでした。これはサポートされており、簡単な計算のように思えます。

これまで、線形アップサンプリングコサイン補間を試しましたが、どちらもうまくいきませんでした。最初のものは本当に歪んだ音に加えて、いくつかのクリックノイズも追加しました. Chrome の WebAudioAPI にも問題があるかもしれませんが、少なくともサウンドは再生されており、本来あるべきものとしてほとんど認識できません。したがって、コーデックまたはエンディアンの問題はないと思います。

サウンド データを含むバイナリ パケットを受信したときに実行される完全なコードを次に示します。簡単にするために、常に新しいバッファとバッファソースを作成しています(パフォーマンスには適していません)。dataArrayBuffer です。まず、サンプルをFloatに変換してから、アップサンプリングします。

0 投票する
1 に答える
662 参照

google-plus - WebAudioAPIを使用したYouTubeライブストリームへのアクセス

たとえば、オーディオコンテンツのリアルタイムミキシングのために、JavascriptおよびWeb Audio APIでYouTubeライブストリームコンテンツ(ビデオ/オーディオ)にアクセスすることは可能ですか?

ペイロードはHTML5と互換性がありますか、それともFlashのみですか?

...または、これらのストリームへのアクセスはCORSまたはライセンス条項によって制限されていますか?

私の場合、ライブストリームはGoogleハングアウトhttp://www.google.com/+/learnmore/hangouts/onair.htmlで作成されます

0 投票する
2 に答える
3910 参照

javascript - Safari または Firefox が MediaElementSource からの音声データを処理できないのはなぜですか?

Safari も Firefox もMediaElementSource、Web Audio API を使用して からのオーディオ データを処理できません。

近い将来、これにパッチを適用する予定はありますか? または、オーディオ コントロールをユーザーに提供する回避策はありますか?

Apple の場合、これは WebKit Nightlies で修正される可能性がありますか、それともHTML5が Web Audio API で適切に動作するようになるには、Safari 8.0のリリースまで待つ必要がありますか? <audio>Web Audio API は少なくともバージョン 6.0 から Safari に存在しており、Safari 7.0 がリリースされるずっと前に最初にこの質問を投稿しました。これがまだ修正されていない理由はありますか?それは修正されますか?

Mozilla については、古い Audio Data API からの切り替えの過程にあることは承知していますが、これは Web Audio 実装の既知の問題であり、Firefox の次のリリースまでに修正される予定ですか?

0 投票する
2 に答える
2276 参照

audio - YouTube オーディオのリアルタイム処理

リアルタイムで処理できるように、YouTube API を使用してオーディオ ストリームをリダイレクトすることは可能ですか?

どうにかして音声データをScriptProcessorNodeに取り込むことができれば、それをバックグラウンドで待機している NaCl モジュールに転送して、高負荷の DSP を実行できることがわかっています。

0 投票する
2 に答える
2953 参照

javascript - Media Element Audio Source ノード 遊び方

そのため、タグから Web オーディオ ソース ノードを作成しようとしているところに問題があります。コードは次のようになります。

問題は最後の 2 行にあります。Webkitオーディオコンテキストを介してオーディオを再生できないようです...

私が行った場合

サウンドの再生が開始されますが、オーディオ ノードを経由することはありません (これは理にかなっています)。

私も試してみました

無駄に...

ヘルプや提案は大歓迎です。お時間をいただきありがとうございます。

アイザック

編集: console.logging OBJECT.source が、入力がゼロで出力が 1 であると主張している場合。これはソース ノードとして正しいですか?

0 投票する
3 に答える
15066 参照

javascript - THREE.jsでカメラの向きを取得する方法

THREE.JS と Web Audio API を使用して 3D ゲームを作成しています。私が抱えている問題の 1 つは、Web オーディオ リスナーの向きを使用し、リスナーをカメラとして定義し、その位置と方向が常に更新されるようにすることです。

私の質問ですが、3 台のカメラのベクトル方向を簡単に取得する方法はありますか?

古いカメラの位置を使用して計算しようとしましたが、速度ベクトルを使用してどちらを向いているかを計算しましたが、カメラが静止している場合は機能しません...

camera.rotation.x、camera.rotation.y、camera.rotation.z を使用して単位ベクトルを作成することは可能でしょうか?

またはさらに簡単な方法はありますか?

お時間をありがとうございました!

0 投票する
1 に答える
3314 参照

html - nodejsサーバーでwavを保存する

録音した音声をサーバーの音声ファイルに保存しようとしています。

参照: http://www.smartjava.org/content/record-audio-using-webrtc-chrome-and-speech-recognition-websockets

コード:

}

function record(){ rec.record();

}

関数 stopAndSend() {

}

サーバー側コード:

オーディオ ファイルにオーディオ ブロブを書き込むにはどうすればよいですか?

0 投票する
1 に答える
1211 参照

javascript - バイナリデータのクロスドメインリクエストを行うにはどうすればよいですか?

別のドメインのmp3ファイルを必要とするHTML5オーディオAPIを使用してWebアプリケーションを作成しています。

mp3をとしてロードするためにこれを書きましたarraybufferが、これは別のドメインからファイルをロードできません。

また、データはバイナリであるため、JSONPとしてリクエストする方法を見つけることができません。

回避策はありますか?

0 投票する
4 に答える
26363 参照

html - Javascript で Web Audio API のローカル ファイルを使用する

Web Audio API を使用して iPhone ゲームでサウンドを動作させようとしています。問題は、このアプリが完全にクライアント側であることです。MP3 をローカル フォルダーに保存したいので (ユーザー入力を必要とせずに)、XMLHttpRequest を使用してデータを読み取ることはできません。FileSystem の使用を検討していましたが、Safari ではサポートされていません。

代替手段はありますか?

編集:以下の回答に感謝します。残念ながら、Audio API はゲームでは非常に遅いです。私はこれを機能させましたが、レイテンシーによりユーザーエクスペリエンスが受け入れられなくなりました. 明確にするために、私が必要としているのは次のような音です -

しかし、これは私にエラーを与えます -

XMLHttpRequest は file:///sounds/beep-1.mp3 を読み込めません。クロス オリジン リクエストは、HTTP でのみサポートされています。キャッチされないエラー: NETWORK_ERR: XMLHttpRequest 例外 101

ローカル ファイルの読み取りに伴うセキュリティ リスクは理解していますが、自分のドメイン内では問題ないはずですか?