Public メソッド | Static Public メソッド
クラス CriAtomExAcb

ACB、AWBデータ [詳細]

すべてのメンバ一覧

Public メソッド

override void Dispose ()
 ACBファイルのアンロード
bool Exists (string cueName)
 キューの存在確認(キュー名指定)
bool Exists (int cueId)
 キューの存在確認(キューID指定)
bool GetCueInfo (string cueName, out CriAtomEx.CueInfo info)
 キュー情報の取得(キュー名指定)
bool GetCueInfo (int cueId, out CriAtomEx.CueInfo info)
 キュー情報の取得(キューID指定)
bool GetCueInfoByIndex (int index, out CriAtomEx.CueInfo info)
 キュー情報の取得(キューインデックス指定)
bool GetWaveFormInfo (string cueName, out CriAtomEx.WaveformInfo info)
 音声波形情報の取得(キュー名指定)
bool GetWaveFormInfo (int cueId, out CriAtomEx.WaveformInfo info)
 音声波形情報の取得(キューID指定)
int GetNumCuePlaying (string name)
 キューリミットが設定されているキューの発音数の取得(キュー名指定)
int GetNumCuePlaying (int id)
 キューリミットが設定されているキューの発音数の取得(キューID指定)
int GetBlockIndex (string cueName, string blockName)
 ブロックインデックスの取得(キュー名指定)
int GetBlockIndex (int cueId, string blockName)
 ブロックインデックスの取得(キューID指定)
int GetNumUsableAisacControls (string cueName)
 キューでコントロール可能なAISAC Controlの個数の取得(キュー名指定)
int GetNumUsableAisacControls (int cueId)
 キューでコントロール可能なAISAC Controlの個数の取得(キューID指定)
bool GetUsableAisacControl (string cueName, int index, out CriAtomEx.AisacControlInfo info)
 キューでコントロール可能なAISAC Controlの取得(キュー名指定)
bool GetUsableAisacControl (int cueId, int index, out CriAtomEx.AisacControlInfo info)
 キューでコントロール可能なAISAC Controlの取得(キューID指定)
void ResetCueTypeState (string cueName)
 キュータイプステートのリセット(キュー名指定)
void ResetCueTypeState (int cueId)
 キュータイプステートのリセット(キューID指定)
void AttachAwbFile (CriFsBinder awb_binder, string awb_path, string awb_name)
 ストリーム用AWBファイルのアタッチ
void DetachAwbFile (string awb_name)
 ストリーム用AWBファイルのデタッチ
bool IsReadyToRelease ()
 ACBハンドルの即時解放状態の取得

Static Public メソッド

static CriAtomExAcb LoadAcbFile (CriFsBinder binder, string acbPath, string awbPath)
 ACBファイルのロード
static CriAtomExAcb LoadAcbData (byte[] acbData, CriFsBinder awbBinder, string awbPath)
 ACBデータのロード

説明

ACB、AWBデータ

説明:
キュー情報を管理するクラスです。
ACB、AWBファイルのロード、アンロードやキュー情報等を取得します。

関数

static CriAtomExAcb LoadAcbFile ( CriFsBinder  binder,
string  acbPath,
string  awbPath 
)
inlinestatic

ACBファイルのロード

引数:
binderバインダオブジェクト
acbPathACBファイルのパス
awbPathAWBファイルのパス
戻り値:
CriAtomExAcbオブジェクト
説明:
ACBファイルをロードし、キュー再生に必要な情報を取り込みます。

第2引数の acbPath にはオンメモリ再生用のACBファイルのパスを、 第3引数の awbPath にはストリーム再生用のAWBファイルのパスを、それぞれ指定します。
(オンメモリ再生のみのACBデータをロードする場合、 awbPath にセットした値は無視されます。)

ACBファイルとAWBファイルを一つのCPKファイルにパッキングしている場合、 第1引数( binder )にCPKファイルをバインドしたCriFsBinderオブジェクトを指定する必要があります。

ACBファイルをロードすると、ACBデータにアクセスするためのCriAtomExAcbオブジェクト ( CriAtomExAcb )が返されます。
AtomExプレーヤに対し、 CriAtomExPlayer::SetCue 関数でACBハンドル、 および再生するキュー名を指定することで、 ACBファイル内のキューを再生することが可能です。

リードエラー等によりACBファイルのロードに失敗した場合、 本関数は戻り値として null を返します。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

ACBハンドルは内部的にバインダ( CriFsBinder )を確保します。
ACBファイルをロードする場合、 ACBファイル数分のバインダが確保できる設定でライブラリを初期化する必要があります。

本関数は完了復帰型の関数です。
ACBファイルのロードにかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照:
criAtomExAcb_CalculateWorkSizeForLoadAcbFile, CriAtomExAcbHn, criAtomExPlayer_SetCueId
static CriAtomExAcb LoadAcbData ( byte[]  acbData,
CriFsBinder  awbBinder,
string  awbPath 
)
inlinestatic

ACBデータのロード

引数:
acbDataACBデータのバイト配列
awbBinderAWB用バインダオブジェクト
awbPathAWBファイルのパス
戻り値:
CriAtomExAcbオブジェクト
説明:
メモリ上に配置されたACBデータをロードし、キュー再生に必要な情報を取り込みます。

第2引数の awbPath にはストリーム再生用のAWBファイルのパスを、それぞれ指定します。
(オンメモリ再生のみのACBデータをロードする場合、 awbPath にセットした値は無視されます。)

AWBファイルをCPKファイルにパッキングしている場合、 第2引数( binder )にCPKファイルをバインドしたCriFsBinderオブジェクトを指定する必要があります。

ACBデータをロードすると、ACBデータにアクセスするためのCriAtomExAcbオブジェクト ( CriAtomExAcb )が返されます。
AtomExプレーヤに対し、 CriAtomExPlayer::SetCue 関数でACBハンドル、 および再生するキュー名を指定することで、 ACBファイル内のキューを再生することが可能です。

リードエラー等によりACBファイルのロードに失敗した場合、 本関数は戻り値として null を返します。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

ACBハンドルは内部的にバインダ( CriFsBinder )を確保します。
ACBファイルをロードする場合、 ACBファイル数分のバインダが確保できる設定でライブラリを初期化する必要があります。

本関数は完了復帰型の関数です。
ACBファイルのロードにかかる時間は、プラットフォームによって異なります。
ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。
ACBファイルのロードは、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照:
criAtomExAcb_CalculateWorkSizeForLoadAcbFile, CriAtomExAcbHn, criAtomExPlayer_SetCueId
override void Dispose ( )
inline

ACBファイルのアンロード

説明:
ロード済みのACBファイルをアンロードします。
備考:
本関数を実行すると、 アンロードするACBファイルを参照しているキューは全て停止されます。
(本関数実行後に、ACBハンドルの作成に使用したワーク領域や、 ACBデータが配置されていた領域が参照されることはありません。)
注意:
本関数を実行すると、破棄しようとしているACBデータを参照している Atomプレーヤが存在しないか、ライブラリ内で検索処理が行われます。
そのため、本関数実行中に他スレッドでAtomプレーヤの作成/破棄を行うと、 アクセス違反やデッドロック等の重大な不具合を誘発する恐れがあります。
参照:
criAtomExAcb_LoadAcbData, criAtomExAcb_LoadAcbFile
bool Exists ( string  cueName)
inline

キューの存在確認(キュー名指定)

引数:
cueNameキュー名
戻り値:
キューが存在するかどうか(存在する:True、存在しない:False)
説明:
指定した名前のキューが存在するかどうかを取得します。
存在した場合にはTrueを返します。
bool Exists ( int  cueId)
inline

キューの存在確認(キューID指定)

引数:
cueIdキューID
戻り値:
キューが存在するかどうか(存在する:True、存在しない:False)
説明:
指定したIDのキューが存在するかどうかを取得します。
存在した場合にはTrueを返します。
bool GetCueInfo ( string  cueName,
out CriAtomEx.CueInfo  info 
)
inline

キュー情報の取得(キュー名指定)

引数:
cueNameキュー名
infoキュー情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キュー名を指定して、キュー情報を取得します。
指定した名前のキューが存在しない場合、Falseが返ります。
参照:
criAtomExAcb_GetCueInfoById, criAtomExAcb_GetCueInfoByIndex
bool GetCueInfo ( int  cueId,
out CriAtomEx.CueInfo  info 
)
inline

キュー情報の取得(キューID指定)

引数:
cueIdキューID
infoキュー情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューIDを指定して、キュー情報を取得します。
指定したIDのキューが存在しない場合、Falseが返ります。
参照:
criAtomExAcb_GetCueInfoById, criAtomExAcb_GetCueInfoByIndex
bool GetCueInfoByIndex ( int  index,
out CriAtomEx.CueInfo  info 
)
inline

キュー情報の取得(キューインデックス指定)

引数:
indexキューインデックス
infoキュー情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューインデックスを指定して、キュー情報を取得します。
指定したインデックスのキューが存在しない場合、Falseが返ります。
参照:
criAtomExAcb_GetCueInfoById, criAtomExAcb_GetCueInfoByIndex
bool GetWaveFormInfo ( string  cueName,
out CriAtomEx.WaveformInfo  info 
)
inline

音声波形情報の取得(キュー名指定)

引数:
cueNameキュー名
info音声波形情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キュー名を指定して、そのキューで再生される音声波形の情報を取得します。
そのキューで再生される音声波形が複数ある場合、 初めのトラックで初めに再生される音声波形の情報が取得されます。 指定した名前のキューが存在しない場合、Falseが返ります。
bool GetWaveFormInfo ( int  cueId,
out CriAtomEx.WaveformInfo  info 
)
inline

音声波形情報の取得(キューID指定)

引数:
cueIdキューID
info音声波形情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューIDを指定して、そのキューで再生される音声波形の情報を取得します。
そのキューで再生される音声波形が複数ある場合、 初めのトラックで初めに再生される音声波形の情報が取得されます。 指定したIDのキューが存在しない場合、Falseが返ります。
int GetNumCuePlaying ( string  name)
inline

キューリミットが設定されているキューの発音数の取得(キュー名指定)

引数:
nameキュー名
戻り値:
発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります)
説明:
キュー名を指定して、キューリミットが設定されているキューの発音数を取得します。
指定した名前のキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
int GetNumCuePlaying ( int  id)
inline

キューリミットが設定されているキューの発音数の取得(キューID指定)

引数:
idキューID
戻り値:
発音数(キューリミットが設定されていないキューを指定した場合-1が帰ります)
説明:
キューIDを指定して、キューリミットが設定されているキューの発音数を取得します。
指定したIDのキューが存在しない場合や、キューリミットが設定されていないキューを指定した場合は-1が返ります。
int GetBlockIndex ( string  cueName,
string  blockName 
)
inline

ブロックインデックスの取得(キュー名指定)

引数:
cueNameキュー名
blockNameブロック名
戻り値:
ブロックインデックス
説明:
キュー名とブロック名からブロックインデックスを取得します。
指定した名前のキューが存在しない場合やブロック名が存在しない場合は、 0xFFFFFFFF が返ります。
int GetBlockIndex ( int  cueId,
string  blockName 
)
inline

ブロックインデックスの取得(キューID指定)

引数:
cueIdキューID
blockNameブロック名
戻り値:
ブロックインデックス
説明:
キューIDとブロック名からブロックインデックスを取得します。
指定したIDのキューが存在しない場合やブロック名が存在しない場合は、 0xFFFFFFFF が返ります。
int GetNumUsableAisacControls ( string  cueName)
inline

キューでコントロール可能なAISAC Controlの個数の取得(キュー名指定)

引数:
cueNameキュー名
戻り値:
AISAC Controlの個数
説明:
キュー名を指定して、キューでコントロール可能なAISAC Controlの個数を取得します。
指定した名前のキューが存在しない場合は、-1が返ります。
参照:
CriAtomExAcb::GetUsableAisacControl
int GetNumUsableAisacControls ( int  cueId)
inline

キューでコントロール可能なAISAC Controlの個数の取得(キューID指定)

引数:
cueIdキューID
戻り値:
AISAC Controlの個数
説明:
キューIDを指定して、キューでコントロール可能なAISAC Controlの個数を取得します。
指定したIDのキューが存在しない場合は、-1が返ります。
参照:
CriAtomExAcb::GetUsableAisacControl
bool GetUsableAisacControl ( string  cueName,
int  index,
out CriAtomEx.AisacControlInfo  info 
)
inline

キューでコントロール可能なAISAC Controlの取得(キュー名指定)

引数:
cueNameキュー名
indexAISAC Controlインデックス
infoAISAC Control情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キュー名とAISAC Controlインデックスを指定して、AISAC Control情報を取得します。
指定した名前のキューが存在しない場合は、Falseが返ります。
参照:
CriAtomExAcb::GetNumUsableAisacControls
bool GetUsableAisacControl ( int  cueId,
int  index,
out CriAtomEx.AisacControlInfo  info 
)
inline

キューでコントロール可能なAISAC Controlの取得(キューID指定)

引数:
cueIdキューID
indexAISAC Controlインデックス
infoAISAC Control情報
戻り値:
取得に成功したかどうか(成功:True、失敗:False)
説明:
キューIDとAISAC Controlインデックスを指定して、AISAC Control情報を取得します。
指定したIDのキューが存在しない場合は、Falseが返ります。
参照:
CriAtomExAcb::GetNumUsableAisacControls
void ResetCueTypeState ( string  cueName)
inline

キュータイプステートのリセット(キュー名指定)

引数:
cueNameキュー名
説明:
キュー名を指定して、キュータイプステートをリセットします。
注意:
リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考:
キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。
本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
void ResetCueTypeState ( int  cueId)
inline

キュータイプステートのリセット(キューID指定)

引数:
cueIdキュー名
説明:
キュー名を指定して、キュータイプステートをリセットします。
注意:
リセット対象は指定したキューのステートのみです。キューに含まれるサブシンセやキューリンク先の ステートはリセットされません。
備考:
キュータイプステートは、ポリフォニックタイプキュー以外のキュー再生時の前回再生トラックを ステートとして管理する仕組みです。
本関数は、ステート管理領域をリセットしACBロード直後の状態に戻します。
void AttachAwbFile ( CriFsBinder  awb_binder,
string  awb_path,
string  awb_name 
)
inline

ストリーム用AWBファイルのアタッチ

引数:
awb_binderAWBファイルを含むバインダのハンドル
awb_pathAWBファイルのパス
awb_nameAWB名
説明:
ACBハンドルに対してストリーム用のAWBファイルをアタッチします。 第1引数の awb_binder 、および第2引数の awb_path には、ストリーム再生用 のAWBファイルを指定します。
第3引数の awb_name はAWBをアタッチするスロットを指定するために使用します。 このため、AtomCraftが出力したAWB名(ファイル名から拡張子を取り除いた部分)を変更している場合 はオリジナルのAWB名を指定してください。
AWBファイルのアタッチに失敗した場合、エラーコールバックが発生します。
失敗の理由については、エラーコールバックのメッセージで確認可能です。
備考:
AWBファイルをアタッチするとライブラリ内部的にバインダ( CriFsBinderHn )とローダ( CriFsLoaderHn ) を確保します。
追加でAWBファイルをアタッチする場合、追加数分のバインダとローダが確保できる設定で Atomライブラリ(またはCRI File Systemライブラリ)を初期化する必要があります。
void DetachAwbFile ( string  awb_name)
inline

ストリーム用AWBファイルのデタッチ

引数:
awb_nameAWB名
説明:
ACBハンドルにアタッチされているストリーム用のAWBファイルをデタッチします。 第1引数の awb_name はAWBをアタッチ時に指定したものと同じAWB名を指定指定ください。
bool IsReadyToRelease ( )
inline

ACBハンドルの即時解放状態の取得

戻り値:
ACBの状態(True = 即時解放可能、False = 再生中のプレーヤあり)
説明:
ACBハンドルを即座に解放可能かどうかをチェックします。
本関数が False を返すタイミングで criAtomExAcb.Dispose 関数を実行すると、 ACBハンドルを参照しているプレーヤに対する停止処理が行われます。
(ストリーム再生用のACBハンドルの場合、ファイル読み込み完了を待つため、 criAtomExAcb.Dispose 関数内で長時間処理がブロックされる可能性があります。)

CRI Middleware logo Copyright (c) 2012 CRI Middleware Co., Ltd. CRIWARE Unity Plug-inマニュアル 2021-02-05 更新