English
★PROGRAMMER'S GUIDE ★PCM・ADPCM再生ライブラリ
▲ 戻る| 進む▼
PCM・ADPCM再生ライブラリ

5.2 データ詳細


(1)基本的なデータ


一
覧
表
Title
データ仕様
Data
基本的なデータ
Data Name
 
No
1.0

型名
説明
Uint8
符号なし1バイト整数。
Sint8
符号あり1バイト整数。
Uint16
符号なし2バイト整数。
Sint16
符号あり2バイト整数。
Uint32
符号なし4バイト整数。
Sint32
符号あり4バイト整数。
Bool
論理型。以下の値を取る。
FALSE  偽
TRUE  真


(2)定数


一
覧
表
Title
データ仕様
Data
エラーコード
Data Name
PCM_ERR_〜
No
2.1
次の定数は、エラーコードを表します。
定数名
説明
PCM_ERR_OK
エラーは発生していない
PCM_ERR_OUT_OF_HANDLE
ハンドル売り切れ
PCM_ERR_NO_INIT
初期化関数がコールされてない
PCM_ERR_INVALID_HN
不正なハンドルで消去
PCM_ERR_ILL_CREATE_MODE
Create時のモードと違う
PCM_ERR_TOO_LARGE_HEADER
ヘッダがき大すぎる
(バッファサイズが小さすぎる)
PCM_ERR_HEADER_DATA
ヘッダデータエラー
PCM_ERR_AFI_NO_COMMON
CommonChunkが無い
PCM_ERR_AFI_COMMPRESS
未対応圧縮タイプ
PCM_ERR_NOT_DECLARE_ADPCM
ADPCM使用宣言をしていない
PCM_ERR_ILLEGAL_PARA
引き数の指定が間違っている
PCM_ERR_ILLEGAL_HANDLE
ハンドルが異常
PCM_ERR_NEXT_HN_STATUS
連続再生ハンドルの状態異常
PCM_ERR_NEXT_HN_AUDIO
オーディオの条件が一致しない
PCM_ERR_CHANGE_NO_ENTRY
エントリがない状態でチェンジした
PCM_ERR_PAUSE_STATUS
PCM_STAT_PLAY_TIMEまたは、
PCM_STAT_PLAY_PAUSE以外の状態でコール
PCM_ERR_PAUSE_WORK_NULL
ポーズ処理用ワーク異常
PCM_ERR_PAUSE_WORK_SIZE
ポーズ処理用ワーク異常
PCM_ERR_PAUSE_WORK_SET
ポーズ処理用ワーク指定が不正
PCM_ERR_DMA_MODE
未対応の転送方式
PCM_ERR_DMA_CPU_PCM
DMAが異常終了
PCM_ERR_GFS_READ
GFSの読み込みで失敗
PCM_ERR_RING_SUPPLY
再生完了後にリングバッファに供給があった。
(供給が間に合わず中断した)
PCM_ERR_TOO_SMALL_PCMBUF
PCMバッファが小さすぎる
PCM_ERR_ILL_SIZE_PCMBUF
PCMバッファサイズが不正


一
覧
表
Title
データ仕様
Data
再生ステータス
Data Name
PCM_STAT_PLAY_〜
No
2.2
再生状態を表します。
定数名
説明
PCM_STAT_PLAY_ERR_STOP
異常停止
PCM_STAT_PLAY_CREATE
生成状態
PCM_STAT_PLAY_PAUSE
一時停止
PCM_STAT_PLAY_START
再生開始
PCM_STAT_PLAY_HEADER
ヘッダ処理状態
PCM_STAT_PLAY_TIME
再生中(タイマスタート)
PCM_STAT_PLAY_END
再生終了


一
覧
表
Title
データ仕様
Data
一時停止の制御コマンド
Data Name
PCM_PAUSE_〜
No
2.3
一時停止の制御を表します。
定数名
説明
PCM_PAUSE_ON_AT_ONCE
即時一時停止
PCM_PAUSE_OFF
一時停止解除

一
覧
表
Title
データ仕様
Data
強制切り替え可能性チェック値
Data Name
PCM_CHANGE_〜
No
2.4
強制切り替えの可能性を表します。
定数名
説明
PCM_CHANGE_OK_AT_ONCE
即時に強制切り替え可能である。
PCM_CHANGE_NO_DATA
データ供給が不足している。強制切り替え
(PCM_Change)を実行すると、スムーズに連
続再生されない。
PCM_CHANGE_NO_ENTRY
PCM_EntryNextで次のハンドルが登録され
ていない。強制切り替え(PCM_Change)は実
行できない。


一
覧
表
Title
データ仕様
Data
データ転送方式の指定値
Data Name
PCM_TRMODE_〜
No
2.5
データ転送方式を表します。
定数名
説明
PCM_TRMODE_CPU
ソフトウェア転送
PCM_TRMODE_SDMA
CPUのDMA(サイクルスチール)
PCM_TRMODE_SCU
SCUのDMA


(3)データ型
一
覧
表
Title
データ仕様
Data
ハンドル
Data Name
PcmHn
No
3.1

再生単位ごとの情報を表します。
typedef void *PcmHn;


一
覧
表
Title
データ仕様
Data
作成パラメータ
Data Name
PcmCreatePara
No
3.2
ハンドルの作成情報を表します。PCM_Create〜への各種パラメータ値を構造体として設定します。

typedef struct {
     PcmWork *work;          /* ワークの先頭アドレス                  */
                             /* 本ライブラリが再生するときの作業領域          */
     Sint32     *ring_addr;  /* リングバッファアドレス                 */
                             /* メモリのデータを再生するときは、そのアドレス      */
     Sint32     ring_size;   /* リングバッファサイズ[byte]            */
                             /* メモリのデータを再生するときはファイルサイズ      */
     Sint32     *pcm_addr;   /* サウンドメモリのPCMバッファアドレス           */
     Sint32     pcm_size;    /* サウンドメモリのPCMバッファサイズ[sample/1ch]  */
} PcmCreatePara;

 PCMバッファに関する注意

一
覧
表
Title
データ仕様
Data
エラー登録関数
Data Name
PcmErrFunc
No
3.3

エラー発生時に呼び出される関数。

 書 式
void(*PcmErrFunc)(void *obj, Sint32 err_code)
 入 力
obj
:登録オブジェクト
err_code
:エラーコード
 出 力
なし

一
覧
表
Title
データ仕様
Data
再生情報
Data Name
PcmInfo
No
3.4
 PCM再生のための情報を表します。

typedef struct {
     PcmFileType file_type;          /* ファイルタイプ            */
     PcmDataType data_type;          /* データタイプ            */
     Sint32     file_size;           /* ファイルサイズ[byte]
                                      * これ以上のリンクバッファへの供給を許す
                                      * が、その部分は処理しない。            */
     Sint32     channel;             /* チャネル数            */
     Sint32     sampling_bit;        /* サンプリングビット数            */
     Sint32     sampling_rate;       /* サンプリングレート[Hz]            */
     Sint32     sample_file;         /* ファイルのサンプル数[sample/1ch]*/
     Sint32     compression_type;    /* 圧縮タイプ            */
} PcmInfo;


▲ 戻る| 進む▼
★PROGRAMMER'S GUIDE ★PCM・ADPCM再生ライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997