##### Sound Library - PCM Streamモジュールコントロール関数

# sdPstmSetVol

PCM Streamポートのボリュームの設定

### 書式

> `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の負荷を増やす原因になります。 なるべく行わないでください。

sdPstmSetVol

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000