動機
前回、以下の記事を作成しました。
そこで、画面の明るさを変更できるなら、音量の変更も同じ感じでC#でパパッと作れるのではないかと思い、作成しました。
なお、作成に関しては WpfApp で作成しました。
イメージ画像
今回もプロト作品のため、UIはそっけないものです。
「音量を100にする」を選択すればノートパソコンの音量が100に、「音量を30にする」を選択すればノードパソコンの音量が30になります。
ソース
MainWindow.xaml
MainWindow.xaml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button x:Name="button" Content="音量を100にする" HorizontalAlignment="Left" Margin="217,56,0,0" VerticalAlignment="Top" Width="303" Height="139" Click="button_Click"/>
<Button x:Name="button1" Content="音量を30にする。" HorizontalAlignment="Left" Margin="217,216,0,0" VerticalAlignment="Top" Width="303" Height="162" Click="button1_Click"/>
</Grid>
</Window>
MainWindow.xaml.cs
MainWindow.xaml.cs
using NAudio.Wave;
using System;
using System.Collections.Generic;
using System.Windows;
using NAudio.CoreAudioApi;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
VolumeController vc = new VolumeController();
vc.SetVolume(100);
MessageBox.Show("音量を100に変更しました。");
}
private void button1_Click(object sender, RoutedEventArgs e)
{
VolumeController vc = new VolumeController();
vc.SetVolume(30);
MessageBox.Show("音量を30に変更しました。");
}
}
class VolumeController
{
public void SetVolume(int value)
{
//音量を変更
MMDevice device;
MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
device = DevEnum.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia);
device.AudioEndpointVolume.MasterVolumeLevelScalar = ((float)value / 100.0f);
}
}
}
Release 版での起動について
Release ビルドで正常に実行ファイルが作成さるのですが、実行するには開発中にインストールしたプラグインなどが一緒に入っているフォルダ内に実行ファイルを入れて、起動する必要が有ります。
(NAudio に関連するプラグインなどを入れて開発したので、それらと一緒にする必要が有ります。)
実行フォルダ
├─ ★★音量変更C#アプリ★★.exe
├─ Microsoft.Win32.Registry.dll
├─ Microsoft.Win32.Registry.xml
├─ NAudio.Asio.dll
├─ NAudio.Core.dll
├─ NAudio.dll
├─ NAudio.Midi.dll
├─ NAudio.Wasapi.dll
├─ NAudio.WinForms.dll
├─ NAudio.WinMM.dll
├─ NAudio.xml
├─ System.Security.AccessControl.dll
├─ System.Security.AccessControl.xml
├─ System.Security.Principal.Windows.dll
├─ System.Security.Principal.Windows.xml
├─ WpfApp1.exe.config
└─ WpfApp1.pdb
終わりに
少しづつですが、自分専用の Windows10 環境簡単変更アプリ化計画に一歩前進しました。
これからも少しずつ前進したいと思います。