我想控制其他应用程序卷(firefox).
我可以做到 Volume Mixer

什么是图书馆Volume Mixer?
如何更改主音量?使用此代码
[DllImport ("winmm.dll")]
public static extern int waveOutSetVolume (IntPtr hwo, uint dwVolume);
waveOutSetVolume (IntPtr.Zero, (((uint)uint.MaxValue & 0x0000ffff) | ((uint)uint.MaxValue << 16)));
Run Code Online (Sandbox Code Playgroud)
我可以设置波形音量,但如果主音量太低,则不会产生任何影响.
谢谢你的帮助.
我制作了一个使用WinAPI来静音麦克风的程序,它似乎在Windows XP中完美运行但在Windows 7中没有做任何事情.是否可以在Windows 7中使用WinAPI控制麦克风音量或静音?
void setVolume(DWORD volume) {
HMIXER mixer;
if (mixerOpen(&mixer, 0, 0, 0, 0) != MMSYSERR_NOERROR) {
MessageBoxW(NULL, L"Error: mixerOpen()", NULL, MB_ICONHAND);
return;
}
// Get the line info
MIXERCAPS mixcaps;
MIXERLINE mixerLine;
mixerGetDevCaps(0, &mixcaps, sizeof(MIXERCAPS));
mixerLine.cbStruct = sizeof(MIXERLINE);
mixerLine.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_WAVEIN;
mixerLine.dwSource = 0;
mixerLine.dwDestination = 0;
if (mixerGetLineInfo(reinterpret_cast<HMIXEROBJ>(mixer), &mixerLine, MIXER_GETLINEINFOF_SOURCE)
!= MMSYSERR_NOERROR) {
MessageBoxW(NULL, L"Error: mixerGetLineInfo()", NULL, MB_ICONHAND);
return;
}
// Get control for mixerline
MIXERCONTROL mixerCtrl;
MIXERLINECONTROLS mixerLineCtrl;
mixerLineCtrl.cbStruct = sizeof(MIXERLINECONTROLS);
mixerLineCtrl.dwLineID = mixerLine.dwLineID;
mixerLineCtrl.dwControlType …Run Code Online (Sandbox Code Playgroud) 我需要一些通用方法来在 C# 中将主音频音量从 Windows XP更改为 Windows 8,因为我的应用程序将在这些操作系统上运行。
我已经尝试过http://www.geekpedia.com/tutorial176_Get-and-set-the-wave-sound-volume.html 但它在 Windows 8 下不起作用。也许它应该在 Windows XP 下工作。
无论如何,我需要一些兼容的方法来做到这一点。有什么线索吗?