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バイトだけ使用されます。