MMRESULT waveOutGetPitch(hWaveOut, lpdwPitch) | |||
HWAVEOUT hWaveOut; | |||
LPDWORD lpdwPitch; |
The waveOutGetPitch function queries the the current pitch setting of a waveform output device.
hWaveOut
Specifies a handle to the waveform output device.
lpdwPitch
Specifies a far pointer to a location to be filled with the current pitch multiplier setting. The pitch multiplier 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 of the DWORD 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, sample rate, or playback time. 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).
waveOutSetPitch, waveOutGetPlaybackRate, waveOutSetPlaybackRate