提示:
参数 lpdwPitch 虽然指向的是 4 字节的正整数, 但表示的是个小数;
两个高位表示整数部分, 两个低位表示小数部分;
$8000 表示一半, $4000 表示四分之一;
譬如: $00010000 表示 1.0, 说明音高没变; $000F8000, 表示 15.5 倍;
修改音高不会改变播放速度、采样速度和播放时间, 但不是所有设备都支持.
//声明:
waveOutGetPitch(
  hWaveOut: HWAVEOUT; {设备句柄}
  lpdwPitch: PDWORD   {存放音高值的变量的指针}
): MMRESULT;          {成功返回 0; 可能的错误值见下:}

MMSYSERR_INVALHANDLE  = 5;  {设备句柄无效}
MMSYSERR_NOTSUPPORTED = 8;  {设备不支持}
MMSYSERR_HANDLEBUSY   = 12; {设备已被另一线程使用}

//举例:
posted on 2008-02-20 19:41  万一  阅读(2124)  评论(0编辑  收藏  举报