NNS_SndWaveOutStart

構文

#include <nnsys/snd.h>
BOOL NNS_SndWaveOutStart(
        NNSSndWaveOutHandle handle,
        NNSSndWaveFormat format,
        const void* dataaddr,
        BOOL loopFlag,
        int loopStartSample,
        int samples,
        int sampleRate,
        int volume,
        int speed,
        int pan );

引数

handle 波形再生ハンドルです。
format 波形データフォーマットです。
dataaddr 波形データの先頭アドレスです。
loopFlag ループフラグです。
loopStartSample ループ開始サンプル位置です。
samples 波形データのサンプル数です。
sampleRate 波形データのサンプリングレートです。単位は Hz です。
volume ボリューム値です。値の範囲は、0 〜 127 です。
speed 再生スピードです。
pan パン(定位)です。値の範囲は、0(左)〜 64(中央)〜 127(右) です。

返り値

再生に成功したかどうかを返します。

説明

波形データを再生します。

波形再生ハンドルhandleには、NNS_SndWaveOutAllocChannel関数で、 取得したものを入れます。

波形データフォーマットformatは、下記の値で指定します。

表 . NNSSndWaveFormat

ラベル 説明
NNS_SND_WAVE_FORMAT_PCM8 8ビットPCM
NNS_SND_WAVE_FORMAT_PCM16 16ビットPCM
NNS_SND_WAVE_FORMAT_ADPCM IMA-ADPCM

波形データ先頭アドレスdataaddrは、4バイトアライメントされている必要があります。

ループフラグloopFlagは、ループ再生を行うかどうかのフラグです。 TRUEを指定すると、最後のサンプルまで再生した後、 ループ開始サンプルloopStartSampleの位置から再び再生を再開します。 なお、ループ開始サンプルloopStartSampleは、8ビットPCMの時は4の倍数、16ビットPCMの時は2の倍数、IMA-ADPCMの時は8の倍数でなければなりません。

サンプル数samplesは、8ビットPCMの時は4の倍数、16ビットPCMの時は2の倍数、IMA-ADPCM の時は8の倍数でなければなりません。

再生スピードspeedは、再生する速さを指定します。 speed÷32768倍の速さで再生されます。 再生スピードを速くすると、再生時間が短くなり、再生される音の高さが高くなります。

参照

NNS_SndWaveOutAllocChannel

履歴

2009/02/02 IMA-ADPCM 対応
2004/07/01 初版