S-01 · 3-minute guide

audioremote
の使い方

机の隣にある Windows 11 ホストの音声出力デバイスを、同じ LAN 上のブラウザ(Win11 ゲスト・スマホ・VM)から 1 タップで切り替えるローカルサービス。会議が始まるたびに立ち上がって ホストの前でスピーカーを選び直す作業を消します。

Windows 11 専用 / 単一 exe / フロントエンド依存ゼロ / MIT License

v0.1 開発中(リリース間近) インストール手順へ GitHub リポジトリ
S-02 · Install

インストール

対応 OS: Windows 11(サーバー)。ホストの物理コンソールセッションで動かす必要があります — RDP セッションでは Windows Core Audio が「リモート オーディオ」のみを見せるため、 本来のデバイス操作ができません。クライアント(ブラウザ)側は OS 問わず。

A. npm 経由(主流・予定)

Node.js を持っている人向け。パッケージマネージャ経由なので SmartScreen 警告を避けられる。

# インストール
npm i -g audioremote
audioremote

# または 1 回だけ
npx audioremote

B. GitHub Releases の exe

Node.js を入れたくない人向け。audioremote.exeSHA256SUMS.txt を DL してダブルクリック。

# DL 後
audioremote.exe をダブルクリック
# (SmartScreen が出たら「詳細情報」→「実行」)

C. ソースからビルド

Rust stable が入っている前提。開発中はこちら。

git clone https://github.com/ishizakahiroshi/audioremote
cd audioremote
cargo build --release
# target/release/audioremote.exe をホストへコピー
いずれの入口でも、実行するのはホストです。 ゲスト側では何もインストールしません(ブラウザだけあれば OK)。
S-03 · After Install

インストールした直後の動線

  1. ホストで exe をダブルクリック

    コンソール窓が開き、既定音声デバイスを列挙・トークンを発行して 0.0.0.0:17650 で待ち受け開始。 初回のみ Windows Firewall のダイアログが出るので「プライベート ネットワークを許可」を選ぶ。

  2. ブラウザが自動で開く

    ホストの既定ブラウザで http://127.0.0.1:17650/ が自動オープン。 ここは loopback バイパスが効いているのでトークン入力なしで即メイン画面が出る。

  3. 「他のマシンから開く」パネルから URL をコピー

    ホストの画面には http://192.168.x.y:17650/#t=ar_live_... の形の URL が並ぶ(LAN の NIC ごとに 1 本)。 右の「コピー」ボタンで 1 タップ。緑にフラッシュしたらコピー完了。

  4. ゲストのブラウザに貼って開く

    Slack DM 自分宛・メモ帳・OneNote など、好きな経路で URL をゲストに渡して開くだけ。 フラグメント #t=... は Web UI が自動で localStorage に保存し URL からクリアする(サーバーログに残らない)。 次からは URL の #t= 抜き版をブックマークしておけば、タップだけで使える。

全体像

[ホスト = 隣の Win11] [ゲスト = 作業中の Win11 / スマホ] audioremote.exe 常駐 Chrome / Safari のブックマーク 127.0.0.1:17650 (自分用) http://192.168.x.y:17650/ + 0.0.0.0:17650 (LAN 用) ◀─────────────── デバイスカードをタップ Windows Core Audio (COM) 切替完了(Console/Multimedia/Comms 同時) Nest Hub Max / 有線 / HDMI / …
大事な設計判断: ホストからの loopback アクセスは認証不要LAN からのアクセスはトークン必須。 LAN URL にはトークンが埋め込んであるので、開いた瞬間に自動でログイン完了します。 「玄人向けにコンソールを覗いて手入力」は要りません。
S-04 · Tips

使い方 tips

S-05 · FAQ

よくある質問 / トラブルシュート

ゲストのブラウザに URL を貼っても繋がらない

まず ipconfig でゲストとホストが同じサブネットにあるか確認。 次に Windows Firewall のダイアログで「プライベート ネットワーク」を許可し忘れていないか (wf.msc → 受信規則 → audioremote を確認)。それでもダメなら ホストで audioremote setup を叩いて bind0.0.0.0 になっているか見てください。

デバイスが「リモート オーディオ」1 個しか出ない

audioremote を RDP セッション内で起動しているのが原因。Windows は RDP セッションに対して仮想的な 「リモート オーディオ」エンドポイントを 1 個だけ見せます。物理コンソール(ホストの前に座って直接ログオン)で 起動し直してください。

切替タップしても Windows のサウンド設定が変わらない

まれに IPolicyConfig::SetDefaultEndpoint0x80070005(E_ACCESSDENIED) を返すことがあります。 競合するデバイス管理アプリ(メーカー製のオーディオコンソール等)が同時に動いている可能性があるので、 一度そちらを終了してから再試行してください。

ホストでダブルクリックしてもブラウザが開かない

audioremote.exe serve --no-open のように --no-open が付いていませんか? 通常起動なら毎回ブラウザが自動オープンする設計です。 それでも開かなければ、コンソールに表示された Open on this host の URL を手動でブラウザに貼ってください。

スマホから使うとき、毎回トークン付き URL を開くのが手間

初回だけトークン付き URL を開けば、その後は localStorage に保存されるので 「トークン抜きの URL」をブックマークしておけば OK です。 例: http://192.168.x.y:17650/ をブックマーク → タップだけで使える。

設定を全部リセットしたい

%APPDATA%\audioremote\config.tomlhistory.toml を削除して exe を再起動。 新しいトークンで初期化されます。

ホストの LAN IP を調べるには?

audioremote は起動時に自動で全 NIC の LAN URL を印字するので、ipconfig を叩く必要はありません。 Web UI の「他のマシンから開く」パネルにも同じ URL が並びます。仮想スイッチ (Hyper-V の vEthernet 等) は グレーで「(仮想スイッチ)」ラベル付きになるので、物理 LAN の方を選んでください。