Изменение мастер громкости в C # - PullRequest
2 голосов
/ 29 августа 2011

Хорошо, у меня проблема, я так старался просто изменить основной объем в C #, кажется, что отвечающие на вопросы, кажется, занимаются ракетостроением, или они просто добавляют кучу лишнего мусора.

Может кто-нибудь просто показать мне, как я могу создать класс, в котором есть свойство Volume {get {} set {}}, которое позволяет мне изменять основной объем. Требование заключается в том, что он должен работать в 64 и 32-битных ОС. Ничего другого, только целое число тома.

1 Ответ

0 голосов
/ 29 августа 2011

Вы можете получить представление из следующего кода, просто вместо того, чтобы помещать эти функции в события, вызывайте их в установщике свойств.

Сделайте это:

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);
}

надеюсь, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...