首页 Private Const HI

Private Const HI

举报
开通vip

Private Const HIPrivate Const HI Private Const HIGHEST_VOLUME_SETTING = 100 `% Private Const AUX_MAPPER = -1& Private Const MAXPNAMELEN = 32 Private Const AUXCAPS_CDAUDIO = 1 ` audio from internal CD-ROM drive Private Const AUXCAPS_AUXIN = 2 ` audio from auxiliary input j...

Private Const HI
Private Const HI Private Const HIGHEST_VOLUME_SETTING = 100 `% Private Const AUX_MAPPER = -1& Private Const MAXPNAMELEN = 32 Private Const AUXCAPS_CDAUDIO = 1 ` audio from internal CD-ROM drive Private Const AUXCAPS_AUXIN = 2 ` audio from auxiliary input jacks Private Const AUXCAPS_VOLUME = &H1 ` supports volume control Private Const AUXCAPS_LRVOLUME = &H2 ` separate left-right volume control Private Const MMSYSERR_NOERROR = 0 Private Const MMSYSERR_BASE = 0 Private Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2) Private Type AUXCAPS wMid As Integer wPid As Integer vDriverVersion As Long szPname As String * MAXPNAMELEN wTechnology As Integer dwSupport As Long End Type Private Type VolumeSetting LeftVol As Integer RightVol As Integer End Type Private Declare Function auxGetNumDevs Lib "winmm.dll" () As Long Private Declare Function auxGetDevCaps Lib "winmm.dll" Alias "auxGetDevCapsA" (ByVal uDeviceID As Long, lpCaps As AUXCAPS, ByVal uSize As Long) As Long Private Declare Function auxSetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long Private Declare Function auxGetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, ByRef lpdwVolume As VolumeSetting) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long) Private Function nSigned(ByVal lUnsignedInt As Long) As Integer Dim nReturnVal As Integer ` Return value from Function If lUnsignedInt > 65535 Or lUnsignedInt < 0 Then MsgBox "Error in conversion from Unsigned to nSigned Integer" nSignedInt = 0 Exit Function End If If lUnsignedInt > 32767 Then nReturnVal = lUnsignedInt - 65536 Else nReturnVal = lUnsignedInt End If nSigned = nReturnVal End Function Private Function lUnsigned(ByVal nSignedInt As Integer) As Long Dim lReturnVal As Long ` Return value from Function If nSignedInt < 0 Then lReturnVal = nSignedInt + 65536 Else lReturnVal = nSignedInt End If If lReturnVal > 65535 Or lReturnVal < 0 Then MsgBox "Error in conversion from nSigned to Unsigned Integer" lReturnVal = 0 End If lUnsigned = lReturnVal End Function Private Function lSetVolume(ByRef lLeftVol As Long, ByRef lRightVol As Long, lDeviceID As Long) As Long Dim Volume As VolumeSetting, lBothVolumes As Long Volume.LeftVol = nSigned(lLeftVol * 65535 / HIGHEST_VOLUME_SETTING) Volume.RightVol = nSigned(lRightVol * 65535 / HIGHEST_VOLUME_SETTING) `copy our Volume-variable to a long CopyMemory lBothVolumes, Volume.LeftVol, Len(Volume) `call the SetVolume-function lSetVolume = auxSetVolume(lDeviceID, lBothVolumes) End Function Private Sub Form_Load() Dim Volume As VolumeSetting, Cnt As Long, AC As AUXCAPS `set the output to a persistent graphic Me.AutoRedraw = True `loop through all the devices For Cnt = 0 To auxGetNumDevs - 1 `auxGetNumDevs is zero-based `get the volume auxGetVolume Cnt, Volume `get the device capabilities auxGetDevCaps Cnt, AC, Len(AC) `print the name on the form Me.Print "Device #" + Str$(Cnt + 1) + ": " + Left(AC.szPname, InStr(AC.szPname, vbNullChar) - 1) `print the left- and right volume on the form Me.Print "Left volume:" + Str$(HIGHEST_VOLUME_SETTING * lUnsigned(Volume.LeftVol) / 65535) Me.Print "Right volume:" + Str$(HIGHEST_VOLUME_SETTING * lUnsigned(Volume.RightVol) / 65535) `set the left- and right-volume to 50% lSetVolume 50, 50, Cnt Me.Print "Both volumes now set to 50%" `empty line Me.Print Next End Sub
本文档为【Private Const HI】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_036899
暂无简介~
格式:doc
大小:19KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-01
浏览量:8