問題タブ [audio-worklet]

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 に答える
1261 参照

javascript - オーディオ ワークレットを使用しているときに「クラッキング」するオーディオを修正するにはどうすればよいですか?

私はどのように機能しているかを理解しようとしAudioWorkletており、いくつかのテストを行いました。

これまでのところ、ブラウザにバックグラウンドでサウンドを再生させて別のことをさせると (たとえば、Photoshop や VSCode などの CPU 負荷の高いアプリケーションを開いてウィンドウを移動させるなど)、大きな「クラッキング」の問題が発生します。

最初はハードウェアの問題だと思いました。Catalina にアップグレードし、見つかったシステム オーディオ拡張機能をすべて削除しましたが、Android や他の友人のコンピューター (Mac、PC) でも同じです。

私はバージョン 1.0.1 Chromium: 78.0.3904.108 (公式ビルド) (64 ビット)を使用しています。

このYouTube ビデオは、クラッキング オーディオの問題を示しています。

ここでテストできる 2 つの CodePen デモを作成しました。

Web オーディオ クラック (バニラ + ワークレットなし) :

Web オーディオ クラック (バニラ + ワークレット) :

聞こえるピアノ MP3 は、スタジオで録音された 48000Hz / 32 ビット / 320kb のオーディオです。

バグを報告する前に、コードが正しいことを確認する必要があります。たぶん、私は物事を本来あるべき方法で連鎖させていません。

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

javascript - 特定のモジュールがワークレットに追加されているかどうかを確認するにはどうすればよいですか?

これAudioWorkletNodeを使用するには、最初にプロセッサ モジュールを にロードする必要がありますaudio_context.audioWorklet


私のコードはモジュール式であるため、プロセッサー・モジュールの不必要な複数のロードを防ぐための信頼できる方法が必要です。.addModule与えられたAudioContext. オブジェクトにマーキングしてマーキングする以外にそのような方法はありtryますか?catchAudioContext

0 投票する
0 に答える
122 参照

javascript - AudioWorklet はマイク入力を変更します

AudioWorkletChrome 拡張機能でを使用して、リアルタイムでマイク入力を変更したいと思います。

簡単な例として、この plnkrのように振動波を送信したいだけですoutput

最初にワークレットを作成します。

次に、マイクを接続します。

plnkr の例ではprocessor.js、出力を変更する代わりに入力を変更し、15 行目を次のように設定します。

残念ながら、それはマイクを変更しません。マイクの音声を再生しただけでは、オシレーターが聞こえません