MMRESULT waveOutSetPitch(hWaveOut, dwPitch) | |||
HWAVEOUT hWaveOut; | |||
DWORD dwPitch; |
The waveOutSetPitch function sets the pitch of a waveform output device.
hWaveOut
Specifies a handle to the waveform output device.
dwPitch
Specifies the new pitch multiplier setting. The pitch multiplier setting indicates the current change in pitch from the original authored setting. The pitch multiplier must be a positive value.
The pitch multiplier is specified as a fixed-point value. The high-order word location contains the signed integer part of the number,and the low-order word contains the fractional part. The fraction is expressed as a WORD in which a value of 0x8000 represents one half,and 0x4000 represents one quarter. For example, the value 0x00010000 specifies a multiplier of 1.0 (no pitch change), and a value of 0x000F8000 specifies a multiplier of 15.5.
Returns zero if the function was successful. Otherwise, it returns an error number. Possible error returns are:
Value | Meaning |
MMSYSERR_INVALHANDLE | Specified device handle is invalid. |
MMSYSERR_NOTSUPPORTED | Function isn't supported. |
MMSYSERR_HANDLEBUSY | The handle hWaveOut is in use on another thread. |
Changing the pitch does not change the playback rate or the sample rate. The playback time is also unchanged. Not all devices support pitch changes. To determine whether the device supports pitch control,use the WAVECAPS_PITCH flag to test the dwSupport field of the WAVEOUTCAPS structure (filled by waveOutGetDevCaps).
waveOutGetPitch, waveOutSetPlaybackRate, waveOutGetPlaybackRate