【解決】audiorouter不要に。機能はwindows10に標準装備されてた

AudioRouterがエラーになる件のエントリーを書いておりましたが、解決のヒントを求めてgithubを眺めていたらpullリクエストにこんな一文が。

**Attention!** Windows 10 has a new feature! Go to *Settings → System → Sound* and look for your *device preferences*. So this software isn’t necessary for the latest version of Windows

https://github.com/audiorouterdev/audio-router/pull/120/commits/3027b2bf8415ba16b71dec2531fb1c57573db13e

「最新のWindows10で使える機能があるからこのソフトイラネ」ですって。早速実践してみます。上記にある通り、設定→システム→サウンド→サウンドの詳細オプションに、「アプリの音量とデバイスの設定」があります。すると、アプリごとに入力と出力デバイスを選べます。ここでCABLE Input(VB-Audio Virtual Cable)を選択すればAudioRouterでの制御と同じようなことが出来ました。必要な事前準備の手順などはAudioRouter使うパターンと同じです。参照リンクを再掲~。

【無料ソフトのみ】OBSで配信に載せたい音だけを載せる【音声事故が起きなくなる】

というわけで、AudioRouterのエラーに悩まされていた方はこれで解決できそうです。さらに、この出力先の設定はPCに保存されるようで、アプリケーションを閉じたり、windowsからサインアウトしても選択状態が保持されていました。アプリを起動するたびにいちいち設定画面を開きなおす必要はなさそうです。上位互換やんけ。

ただ、githubに「AudioRouterに比べて、Windows10の標準機能では一つのデバイスの入力を他のアプリ(あるいはデバイス)複製できない」というニュアンスのコメントがありました。つまり複雑なことをやるには難しいということだと思いますが、そういう人は専用のミキサーとか買うんじゃないかなあと。ライブイベントの配信とかですかね?

最後に自分の試した環境は以下です。配信は試してませんが録画できてるなら同じプロファイルで配信OKでしょうきっと。

Wiondows10バージョン:20H2 19042.964

OBS:26.0.2

実際にやったこと:Chromeで適当なtwitch配信を聞き流しながら、Battlefield1をプレイしてOBSで録画。録画にゲーム音だけ乗っていることを確認。

【解決】Audio routerで「アクセスが拒否されました」となる件の対策

結論

AudioRouter で出力を調整したいアプリケーションを、管理者権限で起動するあるいはWindowsのアカウントに管理者権限を付ける。解決エントリはこちら。Windows10の標準機能で出来るって話。

解決したので、以下は読むだけ無駄です。

経緯と調べた内容

配信の音声を分ける方法があるらしいので、以下のリンク通り実施してみたところ、掲題のエラーになりました。

https://note.com/mulepg/n/n12b17a403048

AudioRouterを起動しても、一覧にアプリがないし、表示されているものでも、下矢印にもなっていません。 AudioRouterの起動時に毎回管理者アカウントの認証を求められるので、もしやと思ってブラウザを管理者権限で実行した所、リストに現れました。その後、実際に配信テストまで進んでないので未検証としています。【追記】steamやゲームのexeを管理者権限で起動しても症状は解決せず。ダメでした。ゲームするときのWindowsアカウントに管理者権限を付けたら、上記リンクの通りになりました。まだ実際の配信はしてないです。

【さらに追記】ChromeやEdgeをVB-Audio VirtualCableに設定しようとすると、エラーになる。管理者権限でもダメ。Battlefiledやsteamのゲームでは試した限り問題ない。この仕組みを導入したい一番の目的が「ゲームの録画や配信にyoutubeとかのブラウザの音を乗せたくないから」なのにこれでは使えない。AudioRouterがgithub上で五年も動きがないようなので、事実上死んでるプロジェクトと思います。本件は解決の見込みなしということで諦めました。

管理者権限が求められる理由はまずはwindowsにログインしているアカウントに管理者権限がないこと。次には、 AudioRouter の動作に管理者権限が必要なように作られている(らしい)ということ。前者については自分のPCの利用方法がそうなっているというだけで、後者については技術的な必然性があるだろう。

多くをsteam経由で入手しているとは言えど、マイナーな作品も遊ぶ。個人が作ったようなものもある。ゲーム自体はexeをぽんぽん実行させることが多いから、気休めかもしれないけどずっと管理者権限なしのアカウントでwindowsにログインしてゲームしてます。一度、怪しい挙動をするゲームのインストールやめたこともある。「なんでゲームの本体が管理者権限求めてくるんだ?」ってsteamのコミュニティでも指摘されていた。これについては中国産というのも拍車をかけた感じもあります。

で、一旦は現状維持を優先しようということで、諦めることにしました。steamを管理者権限で起動しても解決しなかった。steamから各ゲームの起動オプションを設定して、勝手に管理者権限強制するってのも、できないんじゃないかな…?exeに直接管理者権限で実行するようにというのもありますが、トラブルと面倒そうなのでやりたくないです…【追記】exeに対する設定変更では解決できず。ゲームするときのWindowsアカウントに管理者権限を付けたら、上記リンクの通りになりました。 →その後、使い物にならないと判断しました。本エントリ中ほどの、【さらに追記】をご参照ください。

ただし!!githubでいっぱいforkされてます。作者がソースを公開したこともあり、このforkされたリポジトリのどこかに使えるものがあるかもしれません。自分ではちょっと試しきれないので、実際にはやっていません。

https://github.com/audiorouterdev/audio-router/network/members