WODM_SETPLAYBACKRATE

See also WODM_GETPLAYBACKRATE, WODM_SETPITCH

Sent to a waveform output device driver to set the playback rate for a device.

MMSYSERR_NOTENABLED

The driver failed to load or initialize.

MMSYSERR_NOTSUPPORTED

The driver does not support changes to the playback rate.


DWORD dwParam1

Specifies the new playback rate setting. The rate is specified as a fixed-point value. The high-order word of the DWORD 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 playback rate change), and a value of 0x000F8000 specifies a multiplier of 15.5.

DWORD dwParam2

Unused.

Driver support for playback rate changes is optional. When a driver receives a WODM_GETDEVCAPS message, it should indicate support for playback rate

changes by setting or clearing the WAVECAPS_PLAYBACKRATE bit in the dwSupport field of the WAVEOUTCAPS data structure. If a driver supports the WODM_SETPLAYBACKRATE message, then it must also support WODM_GETPLAYBACKRATE.

Changes to the playback rate alter the pitch of a waveform during playback and are usually implemented by the driver by skipping or repeating samples. For example, if the playback rate was 2.0, the driver would play every second sample, at the original playback rate.