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...