注册 登录
编程论坛 VC++/MFC

关于使用MCI调节录音音量的问题

kdq375116578 发布于 2013-01-01 14:40, 809 次点击
小弟上网查阅了一些资料,目前已知的调节MCI音量的方式只有一种

MCI_DGV_SETAUDIO_PARMS mciSetAudioPara;

mciSetAudioPara.dwItem = MCI_DGV_SETAUDIO_VOLUME;

mciSetAudioPara.dwValue = m_WaveVoice*10; //here is the value of the Volume(0--1000)

DWORD dwReturn = mciSendCommand(DeviceID, MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE |
 
MCI_DGV_SETAUDIO_ITEM, (DWORD)(LPVOID)&mciSetAudioPara);

这种方式需要mci在open的时候类型为
mci_open.lpstrDeviceType=(LPSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;
且需要给出路径
mci_open.lpstrElementName=(LPCSTR)"D:\\My Documents\\My Music\\XXX.mp3";

但是录音时,需要设置
mci_open.lpstrDeviceType="waveaudio";//打开类型为波形音频
mci_open.lpstrElementName = "";
否则mciSendCommand函数会失败
mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mci_open);

请问怎么在录音播放时设置音量呢?
不考虑用mixerSetControlDetails直接设置全局音量。

跪谢了
2 回复
#2
yuccn2013-01-01 16:11
http://bbs.
csdn上面有一些介绍,应该有你想要的
#3
kdq3751165782013-01-01 17:27
回复 2楼 yuccn
那篇文章我看了,是改变一个知道路径的音乐播放时的音量。
MCI打开类型为
mci_open.lpstrDeviceType=(LPSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;

现在问题是,我想改变录音音量
打开设备的方式如下。
mci_open.lpstrDeviceType="waveaudio";//打开类型为波形音频
mci_open.lpstrElementName = "";

这样要怎么改呢...要录音的话,也不能用上面的方式,我试过,会报错
1