問題タブ [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 に答える
3468 参照

c# - NAudio WasapiLoopbackCapture ComException (0x88890003)

WasapiLoopbackCapture クラス (NAudio 1.7.1.17) を使用しようとしていますが、最終的に COMException (0x88890003) になります。録音フォーマットは、WaveFormat(44100, 16, 2). システムに複数の再生デバイスがあり、それぞれをデフォルト デバイスとして設定しようとしましたが、結果は同じでした。(44100, 16, 2)また、これらの各デバイスがサポートされている形式としてリストされていることも確認しました。

コンソール出力:

コード:

ヒントをいただければ幸いです。

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

c++ - Windows での WASAPI キャプチャー・バッファー・サイズ

私は WASAPI を使用して、Windows 7 の共有モードでオーディオ バッファーをキャプチャします。48 kHz のサンプル レート、96 kHz、192 kHz、または 44.1 kHz のサンプル レートしか持たないラウドスピーカーを使用しています。私のサウンド カードは Realtek High Definition です。

Windows Vista や Windows 8 などの別の OS でプログラムを実行すると、WASAPI の動作が異なるかどうかを知る必要があります。また、異なるハードウェア (異なるサウンド カード) でキャプチャされたバッファーに対して getBuffer が同じサイズを取得するかどうかを知る必要があります。

自分でテストすることはできず、インターネットで詳細を見つけることはできません。しかし、私のプログラムは、さまざまなバージョンの Windows とさまざまなハードウェアを搭載したさまざまなコンピューターで動作する必要があります。キャプチャされたバッファ サイズが異なると、別のコンピュータでプログラムが正しく動作しません。

誰かがそれについて何か知っているなら、私に知らせてください。ありがとうございました。

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

windows-phone-8 - Windows Phone 8 で音声録音アプリケーションのバッテリー効率を向上させる方法は?

Windows Phone 8 用の WasApi を使用して音声録音アプリを開発しました。しかし、ユーザーはバッテリーの問題に直面しており、録音中に画面がタイムアウトしません。また、ユーザーがバックグラウンドでロック ボタンを押すと、録画が一時停止します。これらの問題を解決する方法を誰か教えてもらえますか?

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

c# - C# でプロセス ID を使用してアプリケーションのオーディオ ストリームのパンを制御する

C# でプロセス ID によってアプリケーションのパンニング (左右のオーディオ チャンネルの音量レベル) を制御したいと考えています。

同様の質問を見つけましたが、それらはすべてストリームの音量を制御し、ステレオ ストリームの 2 つのチャンネルを「パン」することはできません。

ボリューム ミキサー
の制御 アプリケーションのボリュームの制御: プロセス IDによる
オーディオ ミキサーで視覚化された個々の Windows アプリケーションの現在のボリューム出力レベルを取得する
ボリューム ミキサーを制御する単純な C# アプリを構築しようとしています。

Windows 7 で Microsoft Visual Studio 2013 C# を使用しています。

最終的な目標は、トリプル モニター セットアップのウィンドウの位置に基づいて、アプリケーションからオーディオをパンするアプリケーションを作成することです。

手伝ってください。

編集:使用する必要があるのは ISimpleAudioVolume の代わりに IChannelAudioVolume だけのようですが、これらの魔法の GUID を使用/検索する方法や、C# の基本的な理解でコードを書き直す方法がわかりません。

IChannelAudioVolume http://msdn.microsoft.com/en-us/library/dd371023%28v=vs.85%29.aspx ISimpleAudioVolume http://msdn.microsoft.com/en-us/library/dd316531%28v=vs .85%29.aspx

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

c++ - Wasapi ストリーム キャプチャ セッションからの空の BYTE ベクトル

私の主な目標は、2 つのオーディオ ストリームをキャプチャして保存しvector<BYTE>、同等性をチェックする合同アルゴリズムを考え出すことです。現在、ストリームを 1 つだけキャプチャしていますが、ストリームの値は 0 '/0' です。BYTE ベクトル内のすべての要素に対して null で終了する値を取得するのはなぜですか?

オーディオセッションが始まると、必ず音を立てます。ベクトル値をそのまま使用すると、比較するものは何もありません。また、そのバイト ベクターを使用して IAudioRenderClient でレンダリングしても何も起こらないと想定していますが、それが次のアクション プランです。何か案は??

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

windows - Windows オーディオ API - セッション削除通知

私は現在、オーディオセッションに取り組んでいます。GetSessionEnumerator と GetSession を使用してすべてのセッションを列挙することによって取得されたオーディオ セッションがあるとします。RegisterAudioSessionNotification を使用して、セッションの音量が変更されたとき、状態が変更されたときなどを知る通知を登録することができます。

ただし、セッションがいつ削除されたかを知る方法が見つかりませんでした。ドキュメントによると、API によって提供されるセッション有効期限メカニズムはありません。

その情報を念頭に置いて、私が理解できない2つの動作があります。

  1. Windows のボリューム ミキサー (sndvol) で、サウンドを生成しているアプリケーションを終了すると、それに関連付けられているアイコンとボリューム スライダーがリストから消えます。期限切れメカニズムがないため、sndvol はどのようにしてこれを認識しますか?

  2. シナリオは次のとおりです。

を。n 個のオーディオ セッションがアクティブになっています

b. これらのセッションを列挙し、新しいセッションをリッスンします

c. サウンドを生成するアプリを起動すると、セッション作成通知が起動し、リストに n+1 セッションが表示されます

d. アプリを終了します。有効期限メカニズムがないため、まだ n+1 個の通知があります

e. 理解できないこと: オーディオ セッションを再列挙すると、n 個のセッションが取得されます。再列挙したときにリストにイベントがない場合、終了したアプリの余分なセッションがまだ機能しているのはなぜですか? また、なぜリストから消えたのですか?

誰か情報を持っていますか?結果なしで何週間も探していました!

どうもありがとうございました!

編集:sndvol を少し調べたところ、興味深いインターフェイスが見つかりました: {604e2ae7-c4c5-4032-93ff-88b26cdd75b8}。sndvol は、IAudioSessionControl からすべてのセッションに対してクエリを実行します。明らかに、これはドキュメントのないプライベート インターフェイスです。興味深いことに、そのクエリが失敗した場合、セッションは sndvol に表示されません! こちらで確認できたようです

そのインターフェースに関するこれ以上の情報は見つかりませんでした。