「フィードバックハブ」の バグレポート へのリンク
これ以降「エンドポイント」と呼ばれるオーディオエンドポイントデバイスは、物理的または仮想的なオーディオ出力または入力デバイスです。
Windows 10 April Update 1803では、長い間延期されていた「アプリのボリュームとデバイスの設定」が導入されました。これらの設定により、特定のアプリケーションにエンドポイントが選択されているかどうかに関係なく、アプリケーションごとに異なるエンドポイントを設定できるようになったため、オーディオストリーム管理をより細かく制御できます。
ただし、エンドポイントがデフォルトではないプログラムのオーディオが、エンドポイントが設定で正しく表示されているにもかかわらず、閉じて再度起動した後、デフォルトのエンドポイントを介してストリーミングされる(またはまったくストリーミングされない)という問題があります。 :
私の知る限り、この問題は、仮想または物理エンドポイントと影響を受けるプログラムを使用して、Windows 10マシン(バージョン1803以降)で再現できます。この例では「VLCMediaPlayer」を使用しました(エンドポイントの選択が付属しているという事実は無視します)。これはよく知られており、広くアクセスできるため、問題の再現が容易になるはずです。
私が探しているもの...
...は、エンドポイントを切り替えるプログラムによるソリューションです。理想的には、スクリプトの形式で起動して、アプリケーションの起動時に正しいエンドポイントを設定できます。
私の目的では、デバイスは常に同じであるため、デバイスインスタンスパスを手動で調整する必要がありますが、レジストリからデバイスインスタンスパスを取得するソリューションについても文句を言うつもりはありません。
HKEY_USERS\# YOUR SID #\Software\Microsoft\Multimedia\Audio\DefaultEndpoint
_のサブキーから取得できます。 Windowsがサブキーの名前をどのように生成するのか、またはサブキーがどこにあるのかわかりません。私が大げさな推測をしなければならなかったとしたら、これらはアプリケーションIDだと思います(間違っている場合は遠慮なく訂正してください)。可能ですが非現実的な回避策...
...は、アプリケーションの別のエンドポイントを手動で設定し、そのアプリケーションを起動するたびに目的のエンドポイントに切り替えることです(上記を参照)。
ただし、起動のたびに少なくとも10秒かかるだけでなく、オーディオがデフォルトのエンドポイント_*¹
_を介してストリーミングされる可能性があるため、これを忘れることもあります。
後者の代替手段は、オーディオがまったくストリーミングされないことです_*²
_、または場合によっては実際に動作します_*³
_。
_*¹
_例:VLC Media Player、TomClancyのRainbowSix Siege(ただし、音声はスプラッシュ画面中に正しくストリーミングされます)
_*²
_例:Call of Duty 4:Modern Warfare、Call of Duty:Modern Warfare 2、Call of Duty:Modern Warfare 3
_*³
_例:Window Media Player、Microsoft Edge、Firefox
観測
免責事項
私はすでに2つのサードパーティソフトウェアを試しました。「AudioRouter」はまったく機能しませんでした。「CheVolume」は問題を解決せず、その間常にクラッシュします。
この質問は、スーパーユーザー( ここ )で尋ねた質問に基づいていますが、実際の知識が不足しているため、回答が得られませんでした。プログラミング(私はバッチとPowerShellにある程度精通しているだけです)。 Stack OverflowもSuperUserもスクリプト作成サービスではないことはよく知っていますが、この問題はWindows 10 October Update 1809で修正されておらず、これは私だけでなく影響している問題だと考えています。私の後の複数の人に役立ちます。見方が違う場合は、コメントを書くか、編集を提案してください。
また、タグ「audio-streaming」と「endpoint」をこのコンテキストで使用する必要があるかどうかもわかりません。使用しない場合は編集を提案してください。そうしないと、もっと良いことが考えられます。
サードパーティのソフトウェア「EarTrumpet」を使用して、「Call of Duty」ゲームの問題を克服できました(再起動後にオーディオがまったく表示されません)が、デフォルト以外のエンドポイントを割り当てた後、「VLCMediaPlayer」が再起動しませんでした「EarTrumpet」を再び閉じるまで「EarTrumpet」を使用し、「Tom Clancy's RainbowSixSiege」の問題は同じままです。
2か月前に「フィードバックハブ」で作成した バグレポート へのリンクを追加しました。
いくつかのテストを再度行った後、「EarTrumpet」をバックグラウンドで実行すると、再起動後も「VLC Media Player」のデフォルト以外のエンドポイントが維持されますが、「VLC MediaPlayer」は(確実に)再起動しない場合にのみ再起動することに注意してください。 -デフォルトのエンドポイントは「アプリのボリュームとデバイスの設定」で設定されました。
このようなイベントを処理するためのプログラミング言語に関する解決策はありません。
しかし、この変更をより迅速に処理するために、EarTrumpetアプリをお勧めできます https://www.theverge.com/2018/6/13/17457778/eartrumpet-windows-10-audio-app
各アプリで出力の変更をスクリプト化/プログラムする簡単な方法を見つけたら、回答を更新します。