'打开“录音控制”设备
mxl.cbStruct = Len(mxl)
mxl.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_WAVEIN '录音控制
If mixerGetLineInfo(m_hMixer, mxl, MIXER_OBJECTF_HMIXER Or MIXER_GETLINEINFOF_COMPONENTTYPE) <> MMSYSERR_NOERROR Then
Exit Function
End If
Debug.Print mxl.szName 'zhy'此时 mxl.szName="录音控制"
'------------------------------------------
'查找混音输入的设备Stereo Mix,为得到控制ID:mxl2.dwLineID
mxl2.cbStruct = Len(mxl2)
mxl2.dwSource = 1
mxl2.dwDestination = mxl.dwDestination
If mixerGetLineInfo(m_hMixer, mxl2, MIXER_OBJECTF_HMIXER Or MIXER_GETLINEINFOF_SOURCE) <> MMSYSERR_NOERROR Then
Exit Function
End If
'控制 Stereo Mix 的选中(执行控制)
Dim vumVal As ZHY_TYPEA 'MIXERCONTROLDETAILS_SIGNED_ARRAY_2 ' MIXERCONTROLDETAILS_BOOLEAN
Dim mxcd As MIXERCONTROLDETAILS
Dim hmem2 As Long
hmem2 = GlobalAlloc(GMEM_ZEROINIT, Len(vumVal))
Debug.Print mxc.szName
mxcd.cbStruct = Len(mxcd)
mxcd.dwControlID = mxc.dwControlID ';//在上面的&mxc得到
mxcd.cChannels = 1
mxcd.item = mxc.cMultipleItems
mxcd.cbDetails = Len(vumVal)
mxcd.paDetails = GlobalLock(hmem2)
vumVal.a6.fValue = 1
'vumVal [mxc.cMultipleItems-selectIndex-1].fValue = True
CopyPtrFromStruct mxcd.paDetails, vumVal, Len(vumVal) '此步重要
'执行
If mixerSetControlDetails(m_hMixer, mxcd, MIXER_OBJECTF_HMIXER Or MIXER_GETCONTROLDETAILSF_VALUE) = MMSYSERR_NOERROR Then
Debug.Print "成功设置音量"
End If
mxl.cbStruct = Len(mxl)
mxl.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_WAVEIN '录音控制
If mixerGetLineInfo(m_hMixer, mxl, MIXER_OBJECTF_HMIXER Or MIXER_GETLINEINFOF_COMPONENTTYPE) <> MMSYSERR_NOERROR Then
Exit Function
End If
Debug.Print mxl.szName 'zhy'此时 mxl.szName="录音控制"
'------------------------------------------
'查找混音输入的设备Stereo Mix,为得到控制ID:mxl2.dwLineID
mxl2.cbStruct = Len(mxl2)
mxl2.dwSource = 1
mxl2.dwDestination = mxl.dwDestination
If mixerGetLineInfo(m_hMixer, mxl2, MIXER_OBJECTF_HMIXER Or MIXER_GETLINEINFOF_SOURCE) <> MMSYSERR_NOERROR Then
Exit Function
End If
'控制 Stereo Mix 的选中(执行控制)
Dim vumVal As ZHY_TYPEA 'MIXERCONTROLDETAILS_SIGNED_ARRAY_2 ' MIXERCONTROLDETAILS_BOOLEAN
Dim mxcd As MIXERCONTROLDETAILS
Dim hmem2 As Long
hmem2 = GlobalAlloc(GMEM_ZEROINIT, Len(vumVal))
Debug.Print mxc.szName
mxcd.cbStruct = Len(mxcd)
mxcd.dwControlID = mxc.dwControlID ';//在上面的&mxc得到
mxcd.cChannels = 1
mxcd.item = mxc.cMultipleItems
mxcd.cbDetails = Len(vumVal)
mxcd.paDetails = GlobalLock(hmem2)
vumVal.a6.fValue = 1
'vumVal [mxc.cMultipleItems-selectIndex-1].fValue = True
CopyPtrFromStruct mxcd.paDetails, vumVal, Len(vumVal) '此步重要
'执行
If mixerSetControlDetails(m_hMixer, mxcd, MIXER_OBJECTF_HMIXER Or MIXER_GETCONTROLDETAILSF_VALUE) = MMSYSERR_NOERROR Then
Debug.Print "成功设置音量"
End If