問題タブ [wasapi]

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

winapi - IPropertyStore_Commit メソッド - 必要ですか? なぜ実装されていないのですか?

IPropertyStore のフラグの値を変更しようとしています。ただし、フラグの値に関係なく、私のコードは同じように動作するようです。

IPropertyStore_Commitこれは、フラグを変更した後 にコードが呼び出されないためですか?

メソッドを呼び出そうとしましたが、0x80004001「実装されていません」という意味のエラー コードが表示されました。したがって、私の質問の 2 番目の部分: なぜ実装されていないのですか?


より詳細には、オーディオ処理の一部に (JNI 経由で) WASAPI を利用する Java ソフトフォンに取り組んでいます。ネイティブ コードは C で記述されています。

最近 AES (Acoustic Echo Suppression) を有効にしたところ、AGC (Automatic Gain Control) も有効になっていることがわかりました。IPropertyStore オブジェクトに MFPKEY_WMAAECMA_FEATR_AGC キーを設定して、AGC を無効にしようとしています。ただし、値を設定しても違いはありません。

関連するコード スニペットは次のとおりです。

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

windows-phone-8 - WASAPI の SetAudioEndpoint() を呼び出すと、WP8 でマイクの動作がおかしくなる

Chatterbox Sample App に基づいた Wp8 用の VoIP アプリを開発しています。オーディオ エンドポイントの変更に取り組み始めるまで、物事は順調に進んでいました。これを投稿しました ( http://social.msdn.microsoft.com/Forums/wpapps/en-US/30b14ab2-1985-4ab0-858b-459757d8b220/setaudioendpoint-to-speakerphone-causes-timing-problem-with-microphone- capture?forum=wpdcapp ) 少し前に、エンドポイントの切り替え後に発生したタイミングの問題に初めて遭遇しました。キャプチャ タイマーが異常な時間に起動するのを確認しました。これにより、遠端で一種のクリック ノイズが発生しました。エンドポイントを切り替えた後、デバイスをリセットしてフラッシュすることにしました ( Stop(), Reset(), Start() )-これにより、クリックの問題が解消されたようです。

しかし、現在、新たな問題が発生しています。ときどき (20 ~ 30 回の切り替えごとに) エンドポイント デバイスを切り替えると、相手側の音が「ぼやけたり」歪んだりすることがあります。エンドポイントを再度切り替える (およびデバイスを再起動する) と問題が解決するようですが、ここでの根本的な問題はまだわかりません。また、遠端の音声が歪んでいる場合でも、近端の再生は完璧であることにも気付きました。これにより、タイミングは問題ではないと確信できました。

オーディオ エンドポイントを切り替えるときに同様の問題に遭遇したことがありますか?

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

windows-phone-8 - XNA オーディオと WASAPI の競合?

私は最近、VoIP アプリケーション用のコードの統合に取り組んでいます。一方で、UI (主にダイヤラー) は、XNA オーディオ フレームワークを使用して、ボタンを押したときにサウンド バイト (DTMF) を再生します。一方、実際の呼び出しモジュールは、オーディオのキャプチャ/レンダリングに WASAPI を使用します。パーツを統合した後、通話中に AUDCLIENT_BUFFER_SILENT フラグが表示され、音声が聞こえませんでした。XNA のすべてのトレースを無効にして再試行しましたが、呼び出しが正常に機能することだけが確認されました (サイレント バッファー フラグは存在しません)。

XNA と WASAPI はうまく動作しませんか? サウンド バイトに XNA を使用し、呼び出しに WASAPI を使用し続ける方法はありますか?

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

volume - 特定のアプリケーションの音量レベルを制御する

特定のアプリケーションの音量レベルを設定するために NAudio を使用できますか? { Windows 7 上 }

問題を参照して、WASAPI を介して必要なソリューションを自己実装することを提案しているこのスレッドを見つけましたが、NAudio ラッパーを使用するなど、より単純なソリューションを最適に使用したいと思います。

この WASAPI ベースのソリューションも見つけました (私にとっては、32 ビット Windows 7 Professional 以上) は、すべてのオーディオ再生アプリケーションを列挙するわけではないため、適用できません。

私が実際に達成しようとしているのは、さまざまな品質とオーディオレベルのオーディオファイルの長いシーケンスを再生する商用アプリケーションを使用していることです。そのアプリケーションに AGC (自動ゲイン コントロール、つまりボリューム レベルの正規化) を適用して、再生されたトラック間のボリューム レベルの違いを少なくとも "ぼかす" (完全に排除しない場合) にしたいと思います。

第 1 段階として、このアプリケーションがシステム上でオーディオを生成する唯一のアプリケーションであり、Windows の主要なオーディオ パス サンプルのみを処理すると仮定できますが、それを達成する方法もわかりません。NAudio はオーディオ パスに干渉し、オーディオ サンプルがスピーカー ジャックに到達する前に変更 (増幅) することはできますか?

Windows のメイン ボリューム ゲージを変更するだけでは、NAudio/WASAPI ループバックによってキャプチャされたサンプルの振幅に反映されないため、うまくいかないことに注意してください。

NAudio は推奨されるアプローチですが、必須ではありません。