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