#include <nnsys/snd.h>typedef struct NNSSndArcStrmCallbackInfo
{
int playerNo;
int strmNo;
} NNSSndArcStrmCallbackInfo;typedef struct NNSSndArcStrmCallbackParam
{
int strmNo;
u32 offset;
} NNSSndArcStrmCallbackParam;typedef BOOL (*NNSSndArcStrmCallback)( NNSSndArcStrmCallbackStatus status, const NNSSndArcStrmCallbackInfo* info, NNSSndArcStrmCallbackParam* param, void* arg );
ストリーム再生中に、特定のタイミングで呼びだされるコールバック関数です。
このコールバック関数は、 NNS_SndArcStrmStartEx2関数、 NNS_SndArcStrmPrepareEx2関数 で登録されます。
コールバック関数は、特定のタイミングで呼びだされます。
どのタイミングで呼びだされたかは、
コールバックの状態statusで判定できます。
コールバックの状態statusは次の値を取ります。
表 . NNSSndArcStrmCallbackStatus
| ラベル | 説明 |
|---|---|
| NNS_SND_ARC_STRM_CALLBACK_DATA_END | ループ無しストリームのデータ供給がデータ終端に達した状態です。 |
コールバック情報構造体infoは、
コールバックの付加情報が格納された構造体です。
構造体のメンバの意味は、次の通りです。
コールバックパラメータ構造体paramの設定及び、関数の返り値の意味は、
コールバックの状態status毎に異なります。
個々のstatus毎の処理は、以下の説明を参照してください。
将来、コールバックの状態statusの種類が増える可能性があります。 必ず、statusの値をチェックして、 無視する場合は、FALSEを返してください。
コールバックパラメータ構造体paramのメンバ
strmNoに次に再生するストリームデータのストリーム番号を入れて
TRUEを返すと、指定したストリームデータを続けて再生します。
この時、コールバックパラメータ構造体paramのメンバoffsetに
msec単位の再生開始オフセット位置を指定できます。
FALSEを返すと、データ供給を停止し、残りのバッファ再生後にストリームは停止します。
続けて再生する場合、前のストリームのデータフォーマットと、次に再生するデータのフォーマットが、 次の条件を全て満たしていなければ、継続再生に失敗します。
NNS_SndArcStrmStartEx2, NNS_SndArcStrmPrepareEx2
2004/11/26 初版