c++win32API实现scrollbar控制音量
有什么办法可以在win32下实现控制音量。
Sound = waveOutGetVolume(0, &volume);
Sound = 0xFFFF - LOWORD(volume);
value = 0xFFFF - Sound;
waveOutSetVolume(0, MAKELONG(value, value));
为什么这个方法不行?请高手指点。
[最优解释]
waveOutGetVolume(0, &volume);
第一个参数不应该是0吧
[其他解释]
肯定有错误啊, 获取的waveOutGetVolume的返回值看看
[其他解释]
waveoutsetvolume的第一个参数是0,系统音量。
case WM_VSCROLL:
{
int nMin = 0;
int nMax = 0;
GetScrollRange(hwndSound, SB_CTL, &nMin, &nMax);
iVertPos = GetScrollPos(hwndSound, SB_CTL);
int nPos = iVertPos;
switch (LOWORD(wParam))
{
case SB_TOP:
{
nPos = nMin;
waveOutSetVolume(0, MAKELONG(0, 0));
break;
}
case SB_BOTTOM:
{
nPos = nMax;
waveOutSetVolume(0xFFFF, 0xFFFF);
break;
}
case SB_LINEUP:
{
nPos -=1;// the height decrease 1 unit
Sound = waveOutGetVolume(0, &volume);
Sound = 0xFFFF - LOWORD(volume);
value = 0xFFFF - Sound;
waveOutSetVolume(0, MAKELONG(value, value));
break;
}
case SB_LINEDOWN:
{
nPos +=1;// the height increase 1 unit
Sound = waveOutGetVolume(0, &volume);
Sound = 0xFFFF - LOWORD(volume);
value = 0xFFFF - Sound;
waveOutSetVolume(0, MAKELONG(value, value));
break;
}
case SB_THUMBPOSITION:
{
nPos = HIWORD(wParam);
break;
}
default:
break;
}
这是我的实现方法。不知道错在哪里?