Class CriAtomExHcaMx
CriAtomExHcaMx API
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public static class CriAtomExHcaMx
Methods
CalculateWorkSize(in Config)
HCA-MX初期化用ワーク領域サイズの計算
Declaration
public static int CalculateWorkSize(in CriAtomExHcaMx.Config config)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExHcaMx.Config | config | HCA-MX初期化用コンフィグ構造体 |
Returns
Type | Description |
---|---|
int | ワーク領域サイズ |
Remarks
説明: HCA-MXの初期化に必要なワーク領域のサイズを取得します。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドによるアロケーター登録を行わずに Initialize(in Config, IntPtr, int) 関数でHCA-MXの初期化を行う場合、 本関数で計算したサイズ分のメモリをワーク領域として渡す必要があります。 ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考: HCA-MXの初期化に必要なワークメモリのサイズは、HCA-MX初期化用コンフィグ 構造体( CriAtomExHcaMx.Config )の内容によって変化します。 引数にnullを指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
See Also
Finalize()
HCA-MXの終了
Declaration
public static void Finalize()
Remarks
説明: HCA-MXの終了処理を行います。 本関数を実行することで、HCA-MXデータの出力が停止されます。 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 HCA-MX初期化時に確保されたメモリ領域が解放されます。 (HCA-MX初期化時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
注意: 本関数は完了復帰型の関数です。 本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。 音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
See Also
Initialize(in Config, IntPtr, int)
HCA-MXの初期化
Declaration
public static void Initialize(in CriAtomExHcaMx.Config config, IntPtr work = default, int workSize = 0)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExHcaMx.Config | config | HCA-MX初期化用コンフィグ構造体 |
IntPtr | work | ワーク領域 |
int | workSize | ワーク領域サイズ |
Remarks
説明: HCA-MXの初期化を行います。 本関数を実行することで、HCA-MXデータの出力機能が起動されます。
備考: HCA-MXの初期化に必要なワークメモリのサイズは、HCA-MX初期化用コンフィグ 構造体( CriAtomExHcaMx.Config )の内容によって変化します。 引数にnullを指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で初期化処理を行います。 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は完了復帰型の関数です。 本関数を実行すると、しばらくの間Atomライブラリのサーバー処理がブロックされます。 音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。 本関数を実行後、必ず対になる Finalize() 関数を実行してください。 また、 Finalize() 関数を実行するまでは、本関数を再度実行しないでください。
See Also
SetAsrRackId(int, int)
ASRラックIDの指定
Declaration
public static void SetAsrRackId(int mixerId, int rackId)
Parameters
Type | Name | Description |
---|---|---|
int | mixerId | ミキサーID |
int | rackId | ASRラックID |
Remarks
説明: ミキサーの出力先ASRラックIDを指定します。 本関数を使用することで、対象のミキサーを使用するプレーヤーで再生される全てのHCA-MXボイス (HCA-MX用にエンコードされた音声データの再生)について、出力先ASRラックIDが変更されます (HCA-MXボイスを再生する場合、個々のプレーヤーでのASRラックIDの設定は無視されます)。
注意: 本関数は ミキサーのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。 (他のサウンドレンダラタイプの場合、本関数の設定値は無視されます。)
SetBusSendLevelByName(int, ArgString, float)
ミキサーのバスセンドレベル設定
Declaration
public static void SetBusSendLevelByName(int mixerId, ArgString busName, float level)
Parameters
Type | Name | Description |
---|---|---|
int | mixerId | ミキサーID |
ArgString | busName | バス名 |
float | level | センドレベル値(0.0f~1.0f) |
Remarks
説明: ミキサーのバスセンドレベルを設定します。 デフォルト状態では、HCA-MXのデコード結果はミキサーに格納された後、 バス0へ1.0fのレベルで送信されます。 本関数を使用することで、デコード結果を他のバスへもセンドすることが可能になります。 (ミキサーごとに異なるバスエフェクトを適用可能になります。)
SetConfigForWorkSizeCalculation(in Config)
ワーク領域サイズ計算用コンフィグ構造体の設定
Declaration
public static void SetConfigForWorkSizeCalculation(in CriAtomExHcaMx.Config config)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExHcaMx.Config | config | HCA-MX初期化用コンフィグ構造体 |
Remarks
説明: ワーク領域サイズの計算用に、HCA-MX初期化用コンフィグ構造体 ( CriAtomExHcaMx.Config 構造体)を仮登録します。 HCA-MXボイスプールの作成に必要なワーク領域のサイズは、 HCA-MX初期化時( Initialize(in Config, IntPtr, int) 関数実行時) に設定する構造体のパラメーターによって変化します。 そのため、通常はボイスプールの作成に必要なワーク領域サイズを計算する前に、 HCA-MXを初期化する必要があります。 本関数を使用してHCA-MX初期化用コンフィグ構造体を登録した場合、 CalculateWorkSizeForHcaMxVoicePool(in VoicePoolConfig) 関数が初期化処理なしに使用可能となります。
備考: 引数( config )に null を指定した場合、デフォルト設定 ( SetDefaultConfigForHcaMxVoicePool(out VoicePoolConfig) 適用時と同じパラメーター)でワーク領域サイズを計算します。 現状、本関数で一旦コンフィグ構造体を設定すると、 設定前の状態(未初期化状態でのワーク領域サイズ計算をエラーとする動作) に戻すことができなくなります。 (関数を再度実行してパラメーターを上書きすることは可能です。)
注意: 本関数で登録した初期化用コンフィグ構造体は、 HCA-MX未初期化状態でのワーク領域サイズ計算にしか使用されません。 HCA-MX初期化後には本関数に設定したパラメーターではなく、 初期化時に指定されたパラメーターがワーク領域サイズの計算に使用されます。 (本関数で登録する構造体のパラメーターと、 HCA-MX初期化時に使用する構造体のパラメーターが異なる場合、 ワーク領域サイズが不足し、オブジェクトの作成に失敗する恐れがあります。)
See Also
SetDefaultConfig(out Config)
HCA-MX初期化コンフィグ構造体にデフォルト値をセット
Declaration
public static void SetDefaultConfig(out CriAtomExHcaMx.Config pConfig)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExHcaMx.Config | pConfig | コンフィグ |
Remarks
説明: Initialize(in Config, IntPtr, int) 関数に設定するコンフィグ構造体 ( CriAtomExHcaMx.Config )に、デフォルト値をセットします。
See Also
SetFrequencyRatio(int, float)
ミキサーの出力周波数調整比の設定
Declaration
public static void SetFrequencyRatio(int mixerId, float ratio)
Parameters
Type | Name | Description |
---|---|---|
int | mixerId | ミキサーID |
float | ratio | センドレベル値(0.25f~4.0f) |
Remarks
説明: ミキサーの出力周波数調整比を設定します。 周波数調整比は、音声データの周波数と再生周波数の比率で、再生速度の倍率と等価です。 周波数比が1.0fを超える場合、音声データは原音より高速に再生され、 1.0f未満の場合は、音声データは原音より低速で再生されます。 本関数を使用することで、対象のミキサーを使用するプレーヤーで再生される全てのHCA-MXボイス (HCA-MX用にエンコードされた音声データの再生)について、再生速度が変更されます (HCA-MXボイスを再生する場合、個々のプレーヤーでの再生速度の設定は無視されます)。