本日は .NET Framework の小ネタ枠です。
PCのシステムボリュームの情報を参照可能なC#アプリケーションを作成する手順を記事にします。
前提条件
本記事では .NET Framework 上で動作するオーディオライブラリ「NAudio」を利用します。
以下の記事を参考に「NAudio」のビルドを実行してください。
bluebirdofoz.hatenablog.com
プロジェクトの作成
VisualStudio を起動して新規プロジェクトを作成します。
今回は C# のコンソールアプリケーションを選択しました。
NAudioへの参照
プロジェクトが作成されたら NAudio を利用するための参照をプロジェクトに追加します。
[依存関係]を右クリックして[プロジェクト参照の追加]を開きます。
[参照マネージャー]のダイアログが開いたら[参照]ボタンから必要なDLLの参照を追加します。
ここでは以下の記事でビルドした NAudio プロジェクトで出力されたDLLへの参照を追加します。
bluebirdofoz.hatenablog.com
今回はシステムボリュームのコントロールを行うため、[NAudio.Core.dll]と[NAudio.Wasapi.dll]への参照を追加しました。
・NAudio\bin\Release\netstandard2.0
これで NAudio への参照が追加されました。
テストコード
テストコードを作成します。
以下の通り、NAudio のAPIを使って現在のシステムボリュームを取得するコードを追加しました。
・Program.cs
using System; // NAudioへの参照 using NAudio.CoreAudioApi; namespace SystemControlTest { class Program { static void Main(string[] args) { // オーディオへのアクセス MMDevice device; MMDeviceEnumerator DevEnum = new MMDeviceEnumerator(); device = DevEnum.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia); // 現在のシステムボリュームの音量を取得してコンソールに表示する Console.WriteLine("Volume Lever : " + device.AudioEndpointVolume.MasterVolumeLevelScalar.ToString()); } } }
実行ボタンをクリックしてプログラムを実行してみます。
以下の通り、システムボリュームの最大値を 1.0 とした場合の現在の音量を取得することができました。