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

# sdPstmPlay

PCM Streamの再生

### 書式

> `SDE_ERR sdPstmPlay( handle, pcm_type, pcm_frequency )
> SDPSTM handle
> const SDE_PCM_TYPE pcm_type
> const Uint16 pcm_frequency
> `

### 引数

> handle | PCM Streamポートのハンドル
> pcm_type | PCM Streamのタイプ
> pcm_frequency | サンプリング周波数

### 戻り値

> SDE_ERR_NOTHING | エラーなし
> SDE_ERR_NO_INIT | Sound Library が初期化されていない
> SDE_ERR_HANDLE_NULL | ハンドルがNULL
> SDE_ERR_HOST_CMD_BUF_NO_ENOUGH | ホストコマンドのバッファが不足

### 解説

> PCM Streamの再生をします。

> 引数 pcm_typeにはPCMのエンコード形式を指定します。指定にはデータタイプSDE_PCM_TYPEを使用します。

> 定義 | 意味
> SDE_PCM_TYPE_4BIT_ADPCM | 4ビットADPCM圧縮
> SDE_PCM_TYPE_8BIT_LINEAR | 8ビット非圧縮
> SDE_PCM_TYPE_16BIT_LINEAR | 16ビット非圧縮

> 引数pcm_frequencyには再生時のサンプリング周波数(単位Hz)を指定します。指定の上限は、48,000です。 例えばCDクオリティの場合は44,100を指定します。

### 用例

>     /*  4BIT ADPCM format Play */
>     sdPstmPlay( pstm_handle, SDE_PCM_TYPE_4BIT_ADPCM, 44100);
>     /*  8BIT Linear format Play */
>     sdPstmPlay( pstm_handle, SDE_PCM_TYPE_8BIT_LINEAR, 44100);
>     /*  16BIT Linear format Play */
>     sdPstmPlay( pstm_handle, SDE_PCM_TYPE_16BIT_LINEAR, 44100);

### 備考

> サンプリング周波数を指定する引数 pcm_frequencyへの指定方法はSound Library Ver.2.0から変更されました。 定数の指定を行うのではなく、サンプリング周波数をそのまま指定します。 PCM Stream再生を行うとき、PCMのエンコード形式によって用意されたPCM Stream Ring Bufferの最大値に上限があります。

> PCMエンコード形式 | PCM Stream Ring Bufferの最大値
> 4ビットADPCM圧縮(SDE_PCM_TYPE_4BIT_ADPCM) | 7000Hバイト
> 8ビット非圧縮(SDE_PCM_TYPE_8BIT_LINEAR) | F000Hバイト
> 16ビット非圧縮(SDE_PCM_TYPE_16BIT_LINEAR) | 1F000Hバイト

> この最大値を越えるPCM Stream Ring Bufferを指定した場合はそれぞれ最大値のサイズだけ使用されます。例えばADPCMエンコードの波形を再生する場合にPCM Stream Ring Bufferのサイズが10000HバイトのBlockを利用した場合は7000Hバイトだけ使用されます。

sdPstmPlay

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000