問題タブ [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.
rust - wasm-bindgen で AudioWorkletProcessor を拡張しますか?
rust -> wasm
wasm-bindgen を使用してフロー内で既存の JavaScript Web システムを使用する方法に関するドキュメントは非常に単純です。要するに:
- 必要な機能を依存関係としてリストする
- web_sys 経由でアクセスし、そこから通常どおりに処理します。
完全な例へのリンク
このアプローチはほとんどの Web システムで機能しますが、クラスを拡張する必要があるシステムではそれほど単純ではありません。この場合、AudioWorkletProcessorを使用しようとしていますwasm-bindgen
AudioWorkletProcessor
標準的な使用法では、クラスを拡張してから登録することになっています。MDN の例
どうすればこの問題にアプローチできますか? まず、Rust で拡張する必要がありますAudioWorkletProcessor
(これは通常のクラスと継承を行いません)、そのprocess()
機能をオーバーライドします。次に、さびたスペースに確実registerProcessor()
に注入する必要があります。
google-chrome - AudioWorklet.addModule は Chrome ネットワーク コンソールに記録されていますか?
AudioWorklet.addModule(githubUrl) を介して Github からサンプル モジュールを読み込んで、いくつかのオーディオ ワークレット コードをテストしています。しかし、開発者設定のネットワーク タブを見ると、Github へのネットワーク リクエストが表示されません。raw.githubusercontentアドレスの使用に切り替える前にCORSエラーが発生していたため、リクエストを行っていることがわかります(現在はUncaught (in promise) DOMException: The user aborted a request
. 問題の診断に役立つように、ネットワーク呼び出しが返す内容を検査できるようにしたいと考えています。