Middleware Library - ADX再生関数

ADXT_GetStat

状態の取得

書式

long ADXT_GetStat( adxt )
ADXT adxt

引数

adxt   ADXTハンドル

戻り値

現在のADXTハンドルの動作状態

解説

引数adxtで指定されたADXTハンドルの現在の動作状態を取得します。

返される動作状態は以下の通りです。

 定義   値   意味 
 ADXT_STAT_STOP   0    停止中 
 ADXT_STAT_DECINFO   1    ADX のヘッダ情報取得中 
 ADXT_STAT_PREP   2    再生準備中 
 ADXT_STAT_PLAYING   3    デコード&再生中 
 ADXT_STAT_DECEND   4    デコード終了 
 ADXT_STAT_PLAYEND   5    再生終了 


用例

/* 44KHzのモノラルデータを1ストリームだけ再生する場合 */
#define WKSIZE	ADXT_CALC_WORK(1, ADXT_PLY_STM, 1, 44100)

char *work[WKSIZE]; /* 作業領域 */
ADXT adxt; /* ADXTハンドル */
long stat; /* 動作状態 */

adxt = ADXT_Create(1, work, WKSIZE); /* ADXTハンドルの生成 */
ADXT_StartAfs(adxt, pat_id, 0); /* 再生開始 */

for (;;) {
	/* 音が発生している間、アニメーション */
	stat = ADXT_GetStat(adxt);
	if ( stat == ADXT_STAT_PLAYING && stat == ADXT_STAT_DECEND )
		user_animate_obj();

	/* 再生が終了したら、次の音声を再生 */
	if ( stat == ADXT_STAT_PLAYEND && stat == ADXT_STAT_STOP )
		ADXT_StartAfs(adxt, pat_id, 1);
}

※ 再生終了は、状態が PLAYEND または STOP になったときとして判断してください。
GDリードエラーが発生すると状態はSTOPになります。

ADXT_GetStat
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000