Struct CriAtom.WavePlayerConfig
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public struct CriAtom.WavePlayerConfig
Remarks
説明: WAVEが再生可能なプレーヤーを作成する際に、動作仕様を指定するための構造体です。 CreateWavePlayer(in WavePlayerConfig, IntPtr, int) 関数の引数に指定します。 作成されるプレーヤーは、オブジェクト作成時に本構造体で指定された設定に応じて、 内部リソースを必要なだけ確保します。 プレーヤーが必要とするワーク領域のサイズは、本構造体で指定されたパラメーターに応じて変化します。
注意: 将来的にメンバが増える可能性があるため、 SetDefaultConfigForWavePlayer(out WavePlayerConfig) メソッドを使用しない場合には、使用前に必ず構造体をゼロクリアしてください。 (構造体のメンバに不定値が入らないようご注意ください。)
Fields
context
プラットフォーム固有のパラメーターへのポインタ
Declaration
public IntPtr context
Field Value
Type | Description |
---|---|
IntPtr |
Remarks
説明: プラットフォーム固有のパラメーターへのポインタを指定します。 nullを指定した場合、プラットフォーム毎のデフォルトパラメーターでプレーヤーを作成します。 パラメーター構造体は各プラットフォーム固有ヘッダーに定義されています。 パラメーター構造体が定義されていないプラットフォームでは、常にnullを指定してください。
decodeLatency
デコード処理のレイテンシ
Declaration
public int decodeLatency
Field Value
Type | Description |
---|---|
int |
Remarks
説明: デコード処理のレイテンシを指定します。 decode_latency を 0 に設定した場合、プレーヤーは音声再生開始時に 音声データのデコードを可能な限り遅延なく行います。 (オンメモリ再生時は Start() 関数を実行後、 最初のサーバー処理内で再生開始に必要な量のデータをデコードし、 音声の出力を開始します。) これに対し decode_latency を 1 以上に設定した場合、 再生開始に必要なデータのデコードを、複数回のサーバー処理に分割して行います。 (オンメモリ再生時であっても Start() 関数を実行後、 decode_latency に指定した回数サーバー処理が動作するまでは音声の出力が開始されません。)
備考: Atomプレーヤーはサウンドバッファー内のデータ残量を元に、 サーバー処理当たりの音声データのデコード量を決定しています。 音声再生開始前はサウンドバッファーが空の状態のため、 音声再生中に比べて多くのデータ(再生中の 2 ~ 4 倍程度)がデコードされます。 プレーヤー当たりの音声データのデコード処理負荷は小さいため、 一音一音の発音開始時の処理負荷が問題になることはほとんどありません。 しかし、アプリケーション中で 1V に大量の発音リクエストを同時に発行した場合、 全てのプレーヤーの処理負荷のピークが同期し、負荷が目に見えて大きくなる場合があります。 こういった制御を行うケースでは、 decode_latency の値を増やすことで、 局所的に処理負荷が高くなる症状を回避することが可能です。 decode_latency のデフォルト値は、ほとんどの環境で 0 に設定されています。 しかし、携帯ゲーム機等、わずかな負荷変動でもアプリケーションに大きな影響を及ぼす環境では、 デフォルト値が 1 以上に設定されている可能性があります。 (実際にセットされる値については SetDefaultConfigForAdxPlayer(out AdxPlayerConfig) メソッドの適用結果を確認してください。) 現状 decode_latency の値に 4 以上の値を指定することはできません。 ( decode_latency に 4 以上の値を指定した場合でも、ライブラリ内で 3 に変更されます。)
maxChannels
最大出力チャンネル数
Declaration
public int maxChannels
Field Value
Type | Description |
---|---|
int |
Remarks
説明: Atomプレーヤーで再生する音声のチャンネル数を指定します。 CreateWavePlayer(in WavePlayerConfig, IntPtr, int) 関数で作成されたAtomプレーヤーは、max_channelsで指定した チャンネル数"以下の"音声データを再生可能です。
maxSamplingRate
最大サンプリングレート
Declaration
public int maxSamplingRate
Field Value
Type | Description |
---|---|
int |
Remarks
説明: Atomプレーヤーで再生する音声のサンプリングレートを指定します。 CreateWavePlayer(in WavePlayerConfig, IntPtr, int) 関数で作成されたAtomプレーヤーは、max_sampling_rateで指定した サンプリングレート"以下の"音声データを再生可能です。
備考: 最大サンプリングレートを下げることで、Atomプレーヤー作成時に必要となるワークメモリ のサイズを抑えることが可能です。
注意: 指定された最大サンプリングレートを超えるデータは、再生することはできません。 例えば、最大サンプリングレートを24000に設定した場合、作成されたAtomプレーヤーで 48000Hzの音声を再生することはできません。 (ダウンサンプリングされて出力されることはありません。)
soundRendererType
サウンドレンダラタイプ
Declaration
public CriAtom.SoundRendererType soundRendererType
Field Value
Type | Description |
---|---|
CriAtom.SoundRendererType |
Remarks
説明: Atomプレーヤーが使用するサウンドレンダラの種別を指定します。 sound_renderer_type に SoundRendererDefault を指定した場合、 音声データはデフォルト設定のサウンドレンダラに転送されます。 sound_renderer_type に Native を指定した場合、 音声データはデフォルト設定の各プラットフォームのサウンド出力に転送されます。 sound_renderer_type に Asr を指定した場合、 音声データはASR(Atom Sound Renderer)に転送されます。 (ASRの出力先は、ASR初期化時に別途指定。)
streamingFlag
ストリーミング再生を行うかどうか
Declaration
public NativeBool streamingFlag
Field Value
Type | Description |
---|---|
NativeBool |
Remarks
説明: Atomプレーヤーでストリーミング再生(ファイルからの再生)を行うかどうかを指定します。 streaming_flagにfalseを指定した場合、作成されたAtomプレーヤーはオンメモリのデータ 再生( SetData(IntPtr, int) 関数で指定したメモリアドレスの再生)のみをサポート します。(ファイルからの再生はできません。) streaming_flagにtrueを指定した場合、作成されたAtomプレーヤーはオンメモリのデータ 再生に加え、ファイルからの再生( SetFile(CriFsBinder, ArgString) 関数や SetContentId(CriFsBinder, int) 関数で指定されたファイルの再生)をサポートします。
補足: streaming_flagをtrueにした場合、Atomプレーヤー作成時にファイル読み込み用のリソース が確保されます。 そのため、streaming_flagをfalseの場合に比べ、Atomプレーヤーの作成に必要なメモリの サイズが大きくなります。