急!怎样在vc中控制音量,应该使用哪些函数啊?

clwyyp 2005-05-22 09:55:51
各位达人,请问该怎样在vc中控制音量啊,就是控制声音输入输出时的大小?该使用怎样的函数啊,是否要包含哪个类的啊?
...全文
103 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
clwyyp 2005-06-04
  • 打赏
  • 举报
回复
太谢谢你啦!
我试一下!
远游客-蜡台 2005-05-26
  • 打赏
  • 举报
回复
设置音量
SetVolume(DWORD dwVol)
{
if (!m_bOK) return;
HMIXER hMixer;
HRESULT hr;

UINT uiNumDevs = ::mixerGetNumDevs();
if (uiNumDevs == 0)
return;

for(UINT uiDeviceID = 0; uiDeviceID<uiNumDevs; uiDeviceID++)
{
MIXERCAPS MixerDevCaps;
MMRESULT result = ::mixerGetDevCaps(uiDeviceID,&MixerDevCaps, sizeof(MIXERCAPS));
if ( result == MMSYSERR_NOERROR)
{
if(strncmp(MixerDevCaps.szPname,"USB",3)==0) break;
if(!strcmp(MixerDevCaps.szPname,"Yealink USB Audio Device")) break;
}
}
if(uiDeviceID >= uiNumDevs) uiDeviceID = 0;
hr = mixerOpen(&hMixer, uiDeviceID, 0, 0, 0);
if (FAILED(hr)) return;

MIXERCONTROLDETAILS mxcd;
MIXERCONTROLDETAILS_UNSIGNED mxdu;

mxdu.dwValue = dwVol;

mxcd.cMultipleItems = 0;
mxcd.cChannels = m_dwChannels;
mxcd.cbStruct = sizeof(mxcd);
mxcd.dwControlID = m_dwControlID;
mxcd.cbDetails = sizeof(mxdu);
mxcd.paDetails = &mxdu;
hr = mixerSetControlDetails((HMIXEROBJ)hMixer, &mxcd, MIXER_SETCONTROLDETAILSF_VALUE);

mixerClose(hMixer);
}

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧