SDE_ERR sdPstmSetVol( handle, target_slot, vol, fade_time )
SDPSTM handle
const Sint8 target_slot
const Sint8 vol
const Sint32 fade_time
handle PCM Streamポートのハンドル target_slot スロット番号 vol ボリューム値 fade_time 目的のボリューム値に達するまでの時間
SDE_ERR_NOTHING エラーなし SDE_ERR_NO_INIT Sound Library が初期化されていない SDE_ERR_HANDLE_NULL ハンドルがNULL SDE_ERR_HOST_CMD_BUF_NO_ENOUGH ホストコマンドのバッファが不足
指定したPCM Streamポートのスロット毎のボリューム設定をします。引数target_slotは設定するスロット番号を指定します。 この引数にSDD_PSTM_PORT_SLOT_ALLを指定した場合は、指定したポートの全てのスロットに対して設定を行います。
ボリューム値を指定する引数 volの値の指定範囲は-0080H(最小)〜0000H(標準)〜007FH(最大)です。
目的のボリューム値に達するまでの時間を指定する引数 fade_time 単位はミリ秒で指定範囲は0000H(最速)〜7FFFH(最遅)です。 目的のボリューム値に達するまでの時間中、VSync毎にsdSysServer()関数が実行されていなければなりません。
引数volに指定する値が小さすぎるとサウンドが聞こえなくなる場合があります。 また値を大きくしても、元データのボリューム値が十分に大きいなどの原因で一定以上大きくならない場合があります。定期的なタイミングで行うアプリケーションで用意したサーバ関数などで、V同期で変化のない値を毎回設定し続けることは効率的なHost Command Bufferの利用方法でないばかりか、Sound Driverの負荷を増やす原因になります。 なるべく行わないでください。