WindowsのオーディオミキサーをTCP経由でリモートコントロールするC#アプリケーション
Windowsのオーディオデバイスおよびアプリごとのミキサー音量を、ネットワーク経由(TCP)で操作できるサーバーアプリケーションです。 接続用のQRコードを自動生成・画面表示し、スマートフォン等のクライアントから接続して音量を制御することを想定して作成しました。
- 言語: C#(.NET Framework)
- UI: Windows Forms
- 音声制御: NAudio(CoreAudioApi)
- JSON: Newtonsoft.Json
- QRコード: ZXing.Net
- 通信: TCP(System.Net.Sockets)
- IDE: Visual Studio(.slnファイルあり)
- 対象OS: Windows
- 起動時にローカルIPアドレスとポート番号をQRコードで画面右下に表示
- TCPサーバーとして待機し、クライアントの接続を受け付ける
GET_VOLUMEコマンドで現在のオーディオデバイス名・マスター音量・アプリごとの音量をJSON形式で返信デバイス名/アプリ名,音量値形式のコマンドでマスター音量またはアプリ単位の音量を変更- NAudio CoreAudioApi を通じてWindows標準のオーディオミキサーを直接制御
- クライアント切断後に自動で再接続待機状態に戻る
Visual Studioでソリューションファイル(WindowsVolumeController.sln)を開き、ビルド・実行してください。
WindowsVolumeController.sln をVisual Studioで開く
→ ビルド → 実行
- アプリを起動するとQRコードが画面右下に表示される
- スマートフォンなどでQRコードを読み取り、表示されたIPアドレス・ポート番号にTCP接続する
GET_VOLUMEを送信して音量情報を取得するデバイス名,0.5などを送信してマスター音量を変更する(0.0〜1.0の範囲)
基本動作は実装済み。ただし接続先IPアドレスが 192.168.0.* のネットワーク固定のため、環境によっては修正が必要。機能追加・リファクタリングは停止中。