構成 | マクロ定義 | 型定義 | 関数
CriAtomExHcaMx API

構成

struct  CriAtomExHcaMxConfigTag
 HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。
criAtomExHcaMx_Initialize 関数の引数に指定します。
[詳細]

マクロ定義

#define criAtomExHcaMx_SetDefaultConfig(p_config)
 HCA-MX初期化コンフィグ構造体にデフォルト値をセット

型定義

typedef struct
CriAtomExHcaMxConfigTag 
CriAtomExHcaMxConfig
 HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。
criAtomExHcaMx_Initialize 関数の引数に指定します。

関数

CriSint32 CRIAPI criAtomExHcaMx_CalculateWorkSize (const CriAtomExHcaMxConfig *config)
 HCA-MX初期化用ワーク領域サイズの計算
void CRIAPI criAtomExHcaMx_SetConfigForWorkSizeCalculation (const CriAtomExHcaMxConfig *config)
 ワーク領域サイズ計算用コンフィグ構造体の設定
void CRIAPI criAtomExHcaMx_Initialize (const CriAtomExHcaMxConfig *config, void *work, CriSint32 work_size)
 HCA-MXの初期化
void CRIAPI criAtomExHcaMx_Finalize (void)
 HCA-MXの終了
void CRIAPI criAtomExHcaMx_SetBusSendLevelByName (CriSint32 mixer_id, const CriChar8 *bus_name, CriFloat32 level)
 ミキサのバスセンドレベル設定
void CRIAPI criAtomExHcaMx_SetFrequencyRatio (CriSint32 mixer_id, CriFloat32 ratio)
 ミキサの出力周波数調整比の設定
void CRIAPI criAtomExHcaMx_SetAsrRackId (CriSint32 mixer_id, CriSint32 rack_id)
 ASRラックIDの指定

説明


マクロ定義

#define criAtomExHcaMx_SetDefaultConfig (   p_config)
値:
{\
    (p_config)->server_frequency = 60.0f;\
    (p_config)->num_mixers = 1;\
    (p_config)->max_voices = 16;\
    (p_config)->max_input_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
    (p_config)->max_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
    (p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
    (p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
    (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
}

HCA-MX初期化コンフィグ構造体にデフォルト値をセット

説明:
criAtomExHcaMx_Initialize 関数に設定するコンフィグ構造体 ( CriAtomExHcaMxConfig )に、デフォルト値をセットします。
参照:
criAtomExHcaMx_Initialize, CriAtomExHcaMxConfig

型定義

HCA-MX初期化用コンフィグ構造体HCA-MXの動作仕様を指定するための構造体です。
criAtomExHcaMx_Initialize 関数の引数に指定します。

備考:
デフォルト設定を使用する場合、 criAtomExHcaMx_SetDefaultConfig マクロで 構造体にデフォルトパラメータをセットした後、 criAtomExHcaMx_Initialize 関数 に構造体を指定してください。
注意:
将来的にメンバが増える可能性があるため、 criAtomExHcaMx_SetDefaultConfig マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照:
criAtomExHcaMx_Initialize, criAtomExHcaMx_SetDefaultConfig

関数

CriSint32 CRIAPI criAtomExHcaMx_CalculateWorkSize ( const CriAtomExHcaMxConfig config)

HCA-MX初期化用ワーク領域サイズの計算

引数:
[in]configHCA-MX初期化用コンフィグ構造体
戻り値:
CriSint32 ワーク領域サイズ
戻り値:
0以上正常に処理が完了
-1エラーが発生
説明:
HCA-MXの初期化に必要なワーク領域のサイズを取得します。
criAtomEx_SetUserAllocator マクロによるアロケータ登録を行わずに criAtomExHcaMx_Initialize 関数でHCA-MXの初期化を行う場合、 本関数で計算したサイズ分のメモリをワーク領域として渡す必要があります。

ワーク領域サイズの計算に失敗すると、本関数は -1 を返します。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックのメッセージで確認可能です。
備考:
HCA-MXの初期化に必要なワークメモリのサイズは、HCA-MX初期化用コンフィグ 構造体( CriAtomExHcaMxConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomExHcaMx_SetDefaultConfig 適用時と同じパラメータ)で ワーク領域サイズを計算します。
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
参照:
criAtomEx_SetUserAllocator, criAtomExHcaMx_Initialize
void CRIAPI criAtomExHcaMx_SetConfigForWorkSizeCalculation ( const CriAtomExHcaMxConfig config)

ワーク領域サイズ計算用コンフィグ構造体の設定

引数:
[in]configHCA-MX初期化用コンフィグ構造体
説明:
ワーク領域サイズの計算用に、HCA-MX初期化用コンフィグ構造体 ( CriAtomExHcaMxConfig 構造体)を仮登録します。

HCA-MXボイスプールの作成に必要なワーク領域のサイズは、 HCA-MX初期化時( criAtomExHcaMx_Initialize 関数実行時) に設定する構造体のパラメータによって変化します。
そのため、通常はボイスプールの作成に必要なワーク領域サイズを計算する前に、 HCA-MXを初期化する必要があります。
本関数を使用してHCA-MX初期化用コンフィグ構造体を登録した場合、 criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool 関数が初期化処理なしに使用可能となります。
備考:
引数( config )に NULL を指定した場合、デフォルト設定 ( criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool 適用時と同じパラメータ)でワーク領域サイズを計算します。

現状、本関数で一旦コンフィグ構造体を設定すると、 設定前の状態(未初期化状態でのワーク領域サイズ計算をエラーとする動作) に戻すことができなくなります。
(関数を再度実行してパラメータを上書きすることは可能です。)
注意:
本関数で登録した初期化用コンフィグ構造体は、 HCA-MX未初期化状態でのワーク領域サイズ計算にしか使用されません。
HCA-MX初期化後には本関数に設定したパラメータではなく、 初期化時に指定されたパラメータがワーク領域サイズの計算に使用されます。
(本関数で登録する構造体のパラメータと、 HCA-MX初期化時に使用する構造体のパラメータが異なる場合、 ワーク領域サイズが不足し、ハンドルの作成に失敗する恐れがあります。)
例:
    CriAtomExHcaMxConfig hca_mx_config;

    // ワーク領域計算用にHCA-MX初期化設定を仮登録
    criAtomExHcaMx_SetDefaultConfig(&hca_mx_config);
    criAtomExHcaMx_SetConfigForWorkSizeCalculation(&hca_mx_config);

    // HCA-MXボイスプール作成用ワーク領域サイズの計算
    hca_mx_vp_work_size = criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool(NULL);
        :
参照:
criAtomExVoicePool_CalculateWorkSizeForHcaMxVoicePool, criAtomExVoicePool_SetDefaultConfigForHcaMxVoicePool
void CRIAPI criAtomExHcaMx_Initialize ( const CriAtomExHcaMxConfig config,
void *  work,
CriSint32  work_size 
)

HCA-MXの初期化

引数:
[in]configHCA-MX初期化用コンフィグ構造体
[in]workワーク領域
[in]work_sizeワーク領域サイズ
説明:
HCA-MXの初期化を行います。
本関数を実行することで、HCA-MXデータの出力機能が起動されます。
備考:
HCA-MXの初期化に必要なワークメモリのサイズは、HCA-MX初期化用コンフィグ 構造体( CriAtomExHcaMxConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomExHcaMx_SetDefaultConfig 適用時と同じパラメータ)で初期化処理を行います。

引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバ処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
本関数を実行後、必ず対になる criAtomExHcaMx_Finalize 関数を実行してください。
また、 criAtomExHcaMx_Finalize 関数を実行するまでは、本関数を再度実行しないでください。
参照:
criAtomEx_SetUserAllocator, criAtomExHcaMx_CalculateWorkSize
void CRIAPI criAtomExHcaMx_Finalize ( void  )

HCA-MXの終了

説明:
HCA-MXの終了処理を行います。
本関数を実行することで、HCA-MXデータの出力が停止されます。
criAtomEx_SetUserAllocator マクロを使用してアロケータを登録済みの場合、 HCA-MX初期化時に確保されたメモリ領域が解放されます。
(HCA-MX初期化時にワーク領域を渡した場合、本関数実行後であれば ワーク領域を解放可能です。)
注意:
本関数は完了復帰型の関数です。
本関数を実行すると、しばらくの間Atomライブラリのサーバ処理がブロックされます。
音声再生中に本関数を実行すると、音途切れ等の不具合が発生する可能性があるため、 本関数の呼び出しはシーンの切り替わり等、負荷変動を許容できるタイミングで行ってください。
参照:
criAtomEx_SetUserAllocator, criAtomExHcaMx_Initialize
void CRIAPI criAtomExHcaMx_SetBusSendLevelByName ( CriSint32  mixer_id,
const CriChar8 *  bus_name,
CriFloat32  level 
)

ミキサのバスセンドレベル設定

引数:
[in]mixer_idミキサID
[in]bus_nameバス名
[in]levelセンドレベル値(0.0f〜1.0f)
説明:
ミキサのバスセンドレベルを設定します。
デフォルト状態では、HCA-MXのデコード結果はミキサに格納された後、 バス0へ1.0fのレベルで送信されます。
本関数を使用することで、デコード結果を他のバスへもセンドすることが可能になります。
(ミキサごとに異なるバスエフェクトを適用可能になります。)
void CRIAPI criAtomExHcaMx_SetFrequencyRatio ( CriSint32  mixer_id,
CriFloat32  ratio 
)

ミキサの出力周波数調整比の設定

引数:
[in]mixer_idミキサID
[in]ratioセンドレベル値(0.25f〜4.0f)
説明:
ミキサの出力周波数調整比を設定します。
周波数調整比は、音声データの周波数と再生周波数の比率で、再生速度の倍率と等価です。
周波数比が1.0fを超える場合、音声データは原音より高速に再生され、 1.0f未満の場合は、音声データは原音より低速で再生されます。
本関数を使用することで、対象のミキサを使用するプレーヤで再生される全てのHCA-MXボイス (HCA-MX用にエンコードされた音声データの再生)について、再生速度が変更されます (HCA-MXボイスを再生する場合、個々のプレーヤでの再生速度の設定は無視されます)。
void CRIAPI criAtomExHcaMx_SetAsrRackId ( CriSint32  mixer_id,
CriSint32  rack_id 
)

ASRラックIDの指定

引数:
[in]mixer_idミキサID
[in]rack_idASRラックID
説明:
ミキサの出力先ASRラックIDを指定します。
本関数を使用することで、対象のミキサを使用するプレーヤで再生される全てのHCA-MXボイス (HCA-MX用にエンコードされた音声データの再生)について、出力先ASRラックIDが変更されます (HCA-MXボイスを再生する場合、個々のプレーヤでのASRラックIDの設定は無視されます)。
注意:
本関数は ミキサのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。
(他のサウンドレンダラタイプの場合、本関数の設定値は無視されます。)
参照:
CriAtomExAsr_CreateRack

CRI Middleware logo Copyright (c) 2012-2018 CRI Middleware Co., Ltd. CRI ADX2 LE マニュアル (for Cocos2d-x) SDKVer.2.10版