Public 変数
構造体 CriAtomHcaPlayerConfigTag

#include <cri_le_atom.h>

すべてのメンバ一覧

Public 変数

CriSint32 max_channels
 最大出力チャンネル数
CriSint32 max_sampling_rate
 最大サンプリングレート
CriBool streaming_flag
 ストリーミング再生を行うかどうか
CriAtomSoundRendererType sound_renderer_type
 サウンドレンダラタイプ
CriSint32 decode_latency
 デコード処理のレイテンシ

説明

HCAプレーヤ作成用コンフィグ構造体

説明:
HCAが再生可能なプレーヤを作成する際に、動作仕様を指定するための構造体です。
criAtomPlayer_CreateHcaPlayer 関数の引数に指定します。

作成されるプレーヤは、ハンドル作成時に本構造体で指定された設定に応じて、 内部リソースを必要なだけ確保します。
プレーヤが必要とするワーク領域のサイズは、本構造体で指定されたパラメータに応じて変化します。
注意:
将来的にメンバが増える可能性があるため、 criAtomPlayer_SetDefaultConfigForHcaPlayer マクロを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。
(構造体のメンバに不定値が入らないようご注意ください。)
参照:
criAtomPlayer_CreateHcaPlayer, criAtomPlayer_SetDefaultConfigForHcaPlayer

変数

CriSint32 max_channels

最大出力チャンネル数

説明:
Atomプレーヤで再生する音声のチャンネル数を指定します。
criAtomPlayer_CreateHcaPlayer 関数で作成されたAtomプレーヤは、max_channelsで指定した チャンネル数"以下の"音声データを再生可能です。
CriSint32 max_sampling_rate

最大サンプリングレート

説明:
Atomプレーヤで再生する音声のサンプリングレートを指定します。
criAtomPlayer_CreateHcaPlayer 関数で作成されたAtomプレーヤは、max_sampling_rateで指定した サンプリングレート"以下の"音声データを再生可能です。

備考:
最大サンプリングレートを下げることで、Atomプレーヤ作成時に必要となるワークメモリ のサイズを抑えることが可能です。
注意:
指定された最大サンプリングレートを超えるデータは、再生することはできません。
例えば、最大サンプリングレートを24000に設定した場合、作成されたAtomプレーヤで 48000Hzの音声を再生することはできません。
(ダウンサンプリングされて出力されることはありません。)
CriBool streaming_flag

ストリーミング再生を行うかどうか

説明:
Atomプレーヤでストリーミング再生(ファイルからの再生)を行うかどうかを指定します。
streaming_flagにCRI_FALSEを指定した場合、作成されたAtomプレーヤはオンメモリのデータ 再生( criAtomPlayer_SetData 関数で指定したメモリアドレスの再生)のみをサポート します。(ファイルからの再生はできません。)
streaming_flagにCRI_TRUEを指定した場合、作成されたAtomプレーヤはオンメモリのデータ 再生に加え、ファイルからの再生( criAtomPlayer_SetFile 関数や criAtomPlayer_SetContentId 関数で指定されたファイルの再生)をサポートします。
補足:
streaming_flagをCRI_TRUEにした場合、Atomプレーヤ作成時にファイル読み込み用のリソース が確保されます。
そのため、streaming_flagをCRI_FALSEの場合に比べ、Atomプレーヤの作成に必要なメモリの サイズが大きくなります。
CriAtomSoundRendererType sound_renderer_type

サウンドレンダラタイプ

説明:
Atomプレーヤが使用するサウンドレンダラの種別を指定します。
sound_renderer_type に CRIATOM_SOUND_RENDERER_DEFAULT を指定した場合、 音声データはデフォルト設定のサウンドレンダラに転送されます。
sound_renderer_type に CRIATOM_SOUND_RENDERER_NATIVE を指定した場合、 音声データはデフォルト設定の各プラットフォームのサウンド出力に転送されます。
sound_renderer_type に CRIATOM_SOUND_RENDERER_ASR を指定した場合、 音声データはASR(Atom Sound Renderer)に転送されます。
(ASRの出力先は、ASR初期化時に別途指定。)
CriSint32 decode_latency

デコード処理のレイテンシ

説明:
デコード処理のレイテンシを指定します。
decode_latency を 0 に設定した場合、プレーヤは音声再生開始時に 音声データのデコードを可能な限り遅延なく行います。
(オンメモリ再生時は criAtomPlayer_Start 関数を実行後、 最初のサーバ処理内で再生開始に必要な量のデータをデコードし、 音声の出力を開始します。)
これに対し decode_latency を 1 以上に設定した場合、 再生開始に必要なデータのデコードを、複数回のサーバ処理に分割して行います。
(オンメモリ再生時であっても criAtomPlayer_Start 関数を実行後、 decode_latency に指定した回数サーバ処理が動作するまでは音声の出力が開始されません。)
備考:
Atomプレーヤはサウンドバッファ内のデータ残量を元に、 サーバ処理当たりの音声データのデコード量を決定しています。
音声再生開始前はサウンドバッファが空の状態のため、 音声再生中に比べて多くのデータ(再生中の 2 〜 4 倍程度)がデコードされます。
プレーヤ当たりの音声データのデコード処理負荷は小さいため、 一音一音の発音開始時の処理負荷が問題になることはほとんどありません。
しかし、アプリケーション中で 1V に大量の発音リクエストを同時に発行した場合、 全てのプレーヤの処理負荷のピークが同期し、負荷が目に見えて大きくなる場合があります。
こういった制御を行うケースでは、 decode_latency の値を増やすことで、 局所的に処理負荷が高くなる症状を回避することが可能です。

decode_latency のデフォルト値は、ほとんどの環境で 0 に設定されています。
しかし、携帯ゲーム機等、わずかな負荷変動でもアプリケーションに大きな影響を及ぼす環境では、 デフォルト値が 1 以上に設定されている可能性があります。
(実際にセットされる値については criAtomPlayer_SetDefaultConfigForAdxPlayer マクロの適用結果を確認してください。)

現状 decode_latency の値に 4 以上の値を指定することはできません。
( decode_latency に 4 以上の値を指定した場合でも、ライブラリ内で 3 に変更されます。)

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