用C 控制Windows系統音量的實現方法

2022-10-04 05:18:08 字數 1328 閱讀 1622

c#開發windows應用程式中經常需要去控制系統的音量,分兩種方式:

1.使用win api控制

2.使用c++ dll控制

win api控制:

使用user32.dll程式設計客棧和winmm.dll都可以控制系統音量,區別是win系統的版本。winmm.dll xp環境下可用,user32.dll vista及以上版本。

c++ dll控制:

coreaudioapi 是c++ 第三方封裝了音量控制,網上**dll後再專案中引用即可使用。coreaudioapi vista及以上版本支援。

下面給出**

1.winmm控制方式,涉及xp系統波形聲音的左右聲道,高位為左聲道,低位為右聲道:

複製** **如下:

winmm

[dllimport("winmm.dlllrarp", entrypoint = "w**eoutsetvolume")]

public static extern int w**eoutsetvolume(intptr hwo, uint dwvolume);

private void setvol(double arg)

2.user32控制方式:

複製** **如下:

user32

程式設計客棧;[dllimport("user32.dll")]

public static extern intptr sendmessagew(intptr hwnd, int msg, intptr wparam, intptr lparam);

public void setvol()

} private process p;

private const int appcommand_vo = 0x80000;

private const程式設計客棧 int appcommand_volume_up = 0x0a0000;

private const int appcommand_volume_down = 0x090000;

private const int wm_appcommand = 0x319;

3.coreaudioapi

複製** **如下:

coreaudioapi

using coreaudioapi;

public void setvol(double arg)

private mmdevice device;

private mmdeviceenumerator devenum = new mmdeviceenumerator();

本文標題: 用c# 控制windows系統音量的實現方法

本文位址:

控制windows系統音量

網上有一些控制系統音量的方法 win xp系統可以用mixeropen等方式 win 7系統可以用wsapi等方式 wasapi的全稱是windows audio session api windows音訊會話api 是從windows vista之後引入的 uaa universal audio ...

C 控制系統音量

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...

Windows音量變化通知 系統音量監控

總結參考 本次使用win32 api的endpoint volume controls實現當系統音量變化時程式收到通知,環境為win10 64位。實現iaudioendpointvolumecallback介面,重點是onnotify方法。epvolume.h include include inc...