問題タブ [wasm-bindgen]
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()
に注入する必要があります。
javascript - wasm (Rust) から js への static mut のアドレスを取得するにはどうすればよいですか?
js スクリプトに渡す前に WebAssembly のバッファーを埋めてからキャンバスに表示する必要があるrust-wasm プロジェクトがあります。
(この記事に触発された)
しかし、Rust の static mut は安全ではないため、次のように宣言することはできません。#[wasm_bindgen]
js スクリプトでこの静的バッファのアドレスを取得するにはどうすればよいですか?
編集 :
私はこの解決策を見てきました:
このコードで何が起こっているのかよくわかりません。また、wasm-pack ビルドツールを使用しているため、これを使用できません。wasm ファイルに対応する .js ファイルが作成されますが、まだ取得できません。バッファアドレス。
どんな助けでもいただければ幸いです