您的位置:首页 > 编程语言 > C#

C# .net设置系统音量

2015-09-25 17:10 513 查看
设置系统的音量需要调用系统的API接口函数[DllImport(“user32.dll”)]来控制减音量、加音量、静音;

暂时没有找到直接将音量赋值的方法,但可以间接的来赋值(可以先把音量直接减到0,然后再加到您想要的音量)。

public class SetsysVolume

{

public SetsysVolume()

{

}

private const byte VK_VOLUME_MUTE = 0xAD;

private const byte VK_VOLUME_DOWN = 0xAE;

private const byte VK_VOLUME_UP = 0xAF;

private const UInt32 KEYEVENTF_EXTENDEDKEY = 0x0001;

private const UInt32 KEYEVENTF_KEYUP = 0x0002;

[DllImport(“user32.dll”)]

static extern void keybd_event(byte bVk, byte bScan, UInt32 dwFlags, UInt32 dwExtraInfo);

[DllImport(“user32.dll”)]

static extern Byte MapVirtualKey(UInt32 uCode, UInt32 uMapType);

//加音量,每次加2

public static void VolumeUp()

{

keybd_event(VK_VOLUME_UP, MapVirtualKey(VK_VOLUME_UP, 0), KEYEVENTF_EXTENDEDKEY, 0);

keybd_event(VK_VOLUME_UP, MapVirtualKey(VK_VOLUME_UP, 0), KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);

}

//减音量,每次减2

public static void VolumeDown()

{

keybd_event(VK_VOLUME_DOWN, MapVirtualKey(VK_VOLUME_DOWN, 0), KEYEVENTF_EXTENDEDKEY, 0);

keybd_event(VK_VOLUME_DOWN, MapVirtualKey(VK_VOLUME_DOWN, 0), KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);

}

//使系统静音

public static void Mute()

{

keybd_event(VK_VOLUME_MUTE, MapVirtualKey(VK_VOLUME_MUTE, 0), KEYEVENTF_EXTENDEDKEY, 0);

keybd_event(VK_VOLUME_MUTE, MapVirtualKey(VK_VOLUME_MUTE, 0), KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);

}

//设置音量,参数为音量大小

public static void SetVolunme(int volume)

{

int half_volume = volume / 2;

for (int i = 0; i <= 50; i++)

{

VolumeDown();

}

for (int i = 0; i <= half_volume; i++)

{

VolumeUp();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: