SDE_ERR sdPstmSetPitch( handle, target_slot, pitch, fade_time )
SDPSTM handle
const Sint8 target_slot
const Sint16 pitch
const Sint32 fade_time
handle PCM Streamポートのハンドル target_slot スロット番号 pitch 目的の再生ピッチ fade_time 目的の再生ピッチに達するまでの時間
SDE_ERR_NOTHING エラーなし SDE_ERR_NO_INIT Sound Library が初期化されていない SDE_ERR_HANDLE_NULL ハンドルがNULL SDE_ERR_PRM_OVER_RANGE 引数が正常な値の範囲外 SDE_ERR_HOST_CMD_BUF_NO_ENOUGH ホストコマンドのバッファが不足
指定したPCM Streamポートの再生ピッチを設定をします。再生ピッチを指定する引数 pitchは、0100Hで半音上がり、-0100Hで半音下がります。 指定できる上限は、ADPCM 形式の場合サンプリング周波数88200Hz 弱相当までになります。 44100Hz で再生していた場合はpitch は0BFFH までです。 22100Hz の場合はその倍まで設定可能です。
Linear形式の場合はさらにもっと高いpitch を設定できます。 指定できる下限は無いに近いですが、23FFH を目安にしてください。 目的の再生ピッチに達するまで時間を指定する引数 fade_timeの単位はミリ秒で範囲は0000H(最速)〜7FFFH(最遅)です。
目的の再生ピッチに達するまでの時間中、VSync毎にsdSysServer()関数が実行されていなければなりません。
この関数の実行の副作用として再生ピッチを上げると再生スピードが速くなり、再生ピッチを下げると再生スピードが遅くなります。定期的なタイミングで行うアプリケーションで用意したサーバ関数などで、V同期で変化のない値を毎回設定し続けることは効率的なHost Command Bufferの利用方法でないばかりか、Sound Driverの負荷を増やす原因になります。 なるべく行わないでください。