繁体   English   中英

在C#中更改主音量

[英]Changing the master volume in C#

好的,我有一个问题,我已经尝试过很努力,只是为了更改C#中的主音量,似乎这些问题的回答者似乎是在进行火箭科学研究,或者只是添加了一堆额外的垃圾。

有人可以告诉我如何制作一个具有Volume {get {} set {}}属性的类,让我更改主音量。 要求是它必须在64位和32位OS上运行。 没什么,只是一个体积整数。

您可以从以下代码中获得想法,而不是将这些函数放入事件中,而是在属性设置器中调用它们。

做这个 :

private const int APPCOMMAND_VOLUME_MUTE = 0x80000;
private const int APPCOMMAND_VOLUME_UP = 0xA0000;
private const int APPCOMMAND_VOLUME_DOWN = 0x90000;
private const int WM_APPCOMMAND = 0x319;
private const int APPCOMMAND_MEDIA_PLAY_PAUSE = 0xE0000;


[DllImport("user32.dll")]
public static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
    IntPtr wParam, IntPtr lParam);

public Form1()
{
    InitializeComponent();
}

private void btnPlayPause_Click(object sender, EventArgs e)
{
    SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
        (IntPtr)APPCOMMAND_MEDIA_PLAY_PAUSE);
}

private void btnMute_Click(object sender, EventArgs e)
{
    SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
        (IntPtr)APPCOMMAND_VOLUME_MUTE);
}

private void btnDecVol_Click(object sender, EventArgs e)
{
    SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
        (IntPtr)APPCOMMAND_VOLUME_DOWN);
}

private void btnIncVol_Click(object sender, EventArgs e)
{
    SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle,
        (IntPtr)APPCOMMAND_VOLUME_UP);
}

希望有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM