CRIWARE Unity Plugin Manual  Last Updated: 2024-02-07
CriAtomExPlayer クラス

AtomExプレーヤ [詳解]

CriDisposableを継承しています。

公開型

enum  Status {
  Stop = 0, Prep, Playing, PlayEnd,
  Error
}
 プレーヤステータス [詳解]
 
enum  TimeStretchParameterId : int { Ratio = 0, FrameTime = 1, Quality = 2 }
 タイムストレッチ用パラメータ [詳解]
 
enum  PitchShifterParameterId : int { Pitch = 0, Formant = 1, Mode = 2 }
 ピッチシフタ用パラメータ [詳解]
 

公開メンバ関数

 CriAtomExPlayer ()
 AtomExPlayerの作成 [詳解]
 
 CriAtomExPlayer (int maxPath, int maxPathStrings)
 AtomExPlayerの作成(単体ファイル再生用) [詳解]
 
 CriAtomExPlayer (bool enableAudioSyncedTimer)
 AtomExPlayerの作成(音声同期タイマ利用) [詳解]
 
 CriAtomExPlayer (int maxPath, int maxPathStrings, bool enableAudioSyncedTimer)
 AtomExPlayerの作成(単体ファイル再生、音声同期タイマ利用) [詳解]
 
override void Dispose ()
 AtomExプレーヤの破棄 [詳解]
 
void SetCue (CriAtomExAcb acb, string name)
 音声データのセット(キュー名指定) [詳解]
 
void SetCue (CriAtomExAcb acb, int id)
 音声データのセット(キューID指定) [詳解]
 
void SetCueIndex (CriAtomExAcb acb, int index)
 音声データのセット(キューインデックス指定) [詳解]
 
void SetContentId (CriFsBinder binder, int contentId)
 音声データのセット(CPKコンテンツIDの指定) [詳解]
 
void SetFile (CriFsBinder binder, string path)
 音声データのセット(ファイル名の指定) [詳解]
 
void SetData (byte[] buffer, int size)
 音声データのセット(オンメモリバイト配列の指定) [詳解]
 
void SetData (IntPtr buffer, int size)
 音声データのセット(オンメモリバッファアドレスの指定) [詳解]
 
void SetFormat (CriAtomEx.Format format)
 フォーマットの指定 [詳解]
 
void SetNumChannels (int numChannels)
 チャンネル数の指定 [詳解]
 
void SetSamplingRate (int samplingRate)
 サンプリングレートの指定 [詳解]
 
void PrepareEntryPool (int capacity, bool stopOnEmpty)
 連結再生用エントリプールの作成 [詳解]
 
int GetNumEntries ()
 連結再生用データのエントリ数 [詳解]
 
int GetNumConsumedEntries ()
 再生処理に入力済みのエントリ数 [詳解]
 
bool EntryFile (CriFsBinder binder, string path, bool repeat)
 連結再生用データの入力(ファイル名の指定) [詳解]
 
bool EntryContentId (CriFsBinder binder, int contentId, bool repeat)
 連結再生用データの入力(CPKコンテンツIDの指定) [詳解]
 
bool EntryData (byte[] buffer, int size, bool repeat)
 連結再生用データの入力(オンメモリバイト配列の指定) [詳解]
 
bool EntryData (IntPtr buffer, int size, bool repeat)
 連結再生用データの入力(オンメモリバッファアドレスの指定) [詳解]
 
bool EntryCue (CriAtomExAcb acb, string name, bool repeat)
 連結再生用データの入力(キュー名の指定) [詳解]
 
CriAtomExPlayback Start ()
 再生の開始 [詳解]
 
CriAtomExPlayback Prepare ()
 再生の準備 [詳解]
 
void Stop (bool ignoresReleaseTime)
 再生の停止 [詳解]
 
void Pause ()
 ポーズ [詳解]
 
void Resume (CriAtomEx.ResumeMode mode)
 ポーズ解除 [詳解]
 
bool IsPaused ()
 ポーズ状態の取得 [詳解]
 
void SetVolume (float volume)
 ボリュームの設定 [詳解]
 
void SetPitch (float pitch)
 ピッチの設定 [詳解]
 
void SetPlaybackRatio (float ratio)
 シーケンス再生レシオの設定 [詳解]
 
void SetPan3dAngle (float angle)
 パンニング3D角度の設定 [詳解]
 
void SetPan3dInteriorDistance (float distance)
 パンニング3D距離の設定 [詳解]
 
void SetPan3dVolume (float volume)
 パンニング3Dボリュームの設定 [詳解]
 
void SetPanType (CriAtomEx.PanType panType)
 パンタイプの設定 [詳解]
 
void SetSendLevel (int channel, CriAtomEx.Speaker id, float level)
 センドレベルの設定 [詳解]
 
void SetBiquadFilterParameters (CriAtomEx.BiquadFilterType type, float frequency, float gain, float q)
 バイクアッドフィルタのパラメータの設定 [詳解]
 
void SetBandpassFilterParameters (float cofLow, float cofHigh)
 バンドパスフィルタのパラメータ設定 [詳解]
 
void SetBusSendLevel (string busName, float level)
 バスセンドレベルの設定(バス名指定) [詳解]
 
bool GetBusSendLevel (string busName, out float level)
 バスセンドレベルの取得(バス名指定) [詳解]
 
void SetBusSendLevel (int busId, float level)
 
void SetBusSendLevelOffset (string busName, float levelOffset)
 オフセットによるバスセンドレベルの設定(バス名指定) [詳解]
 
bool GetBusSendLevelOffset (string busName, out float level)
 バスセンドレベルのオフセットの取得(バス名指定) [詳解]
 
void SetBusSendLevelOffset (int busId, float levelOffset)
 
void AttachAisac (string globalAisacName)
 プレーヤにAISACを付与 [詳解]
 
void DetachAisac (string globalAisacName)
 プレーヤからAISACを分離 [詳解]
 
void SetAisacControl (string controlName, float value)
 AISACコントロール値の設定(コントロール名指定) [詳解]
 
void SetAisac (string controlName, float value)
 
void SetAisacControl (uint controlId, float value)
 AISACコントロール値の設定(コントロールID指定) [詳解]
 
void SetAisac (uint controlId, float value)
 
bool GetAttachedAisacInfo (int aisacAttachedIndex, out CriAtomEx.AisacInfo aisacInfo)
 プレーヤにアタッチされているAISAC情報の取得 [詳解]
 
void Set3dSource (CriAtomEx3dSource source)
 3D音源オブジェクトの設定 [詳解]
 
void Set3dListener (CriAtomEx3dListener listener)
 3Dリスナーオブジェクトの設定 [詳解]
 
void SetStartTime (long startTimeMs)
 再生開始位置の指定 [詳解]
 
void SetFirstBlockIndex (int index)
 再生開始ブロックのセット(ブロックインデックス指定) [詳解]
 
void SetSelectorLabel (string selector, string label)
 セレクタ情報の設定 [詳解]
 
void UnsetSelectorLabel (string selector)
 設定されているセレクタ情報の削除 [詳解]
 
void ClearSelectorLabels ()
 設定されている全てのセレクタ情報の削除 [詳解]
 
void SetCategory (int categoryId)
 カテゴリの設定(ID指定) [詳解]
 
void SetCategory (string categoryName)
 カテゴリの設定(カテゴリ名指定) [詳解]
 
void UnsetCategory ()
 カテゴリの削除 [詳解]
 
void SetCuePriority (int priority)
 キュープライオリティの設定 [詳解]
 
void SetVoicePriority (int priority)
 ボイスプライオリティの設定 [詳解]
 
void SetVoiceControlMethod (CriAtomEx.VoiceControlMethod method)
 ボイス制御方法の指定 [詳解]
 
void SetPreDelayTime (float time)
 プリディレイタイムの設定 [詳解]
 
void SetEnvelopeAttackTime (float time)
 エンベロープのアタックタイムの設定 [詳解]
 
void SetEnvelopeHoldTime (float time)
 エンベロープのホールドタイムの設定 [詳解]
 
void SetEnvelopeDecayTime (float time)
 エンベロープのディケイタイムの設定 [詳解]
 
void SetEnvelopeReleaseTime (float time)
 エンベロープのリリースタイムの設定 [詳解]
 
void SetEnvelopeSustainLevel (float level)
 エンベロープのサスティンレベルの設定 [詳解]
 
void AttachFader ()
 プレーヤにフェーダを取り付ける [詳解]
 
void DetachFader ()
 プレーヤからフェーダを取り外す [詳解]
 
void SetFadeOutTime (int ms)
 フェードアウト時間の設定 [詳解]
 
void SetFadeInTime (int ms)
 フェードイン時間の設定 [詳解]
 
void SetFadeInStartOffset (int ms)
 フェードイン開始オフセットの設定 [詳解]
 
void SetFadeOutEndDelay (int ms)
 フェードアウト後のディレイ時間の設定 [詳解]
 
bool IsFading ()
 フェード処理中かどうかを取得 [詳解]
 
void ResetFaderParameters ()
 フェーダパラメータの初期化 [詳解]
 
void SetGroupNumber (int group_no)
 グループ番号の指定 [詳解]
 
void Update (CriAtomExPlayback playback)
 再生パラメータの更新(CriAtomExPlaybackオブジェクト単位) [詳解]
 
void UpdateAll ()
 再生パラメータの更新(再生中の音全て) [詳解]
 
void ResetParameters ()
 再生パラメータの初期化 [詳解]
 
long GetTime ()
 再生時刻の取得 [詳解]
 
Status GetStatus ()
 ステータスの取得 [詳解]
 
float GetParameterFloat32 (CriAtomEx.Parameter id)
 パラメータの取得(浮動小数点数) [詳解]
 
uint GetParameterUint32 (CriAtomEx.Parameter id)
 パラメータの取得(符号なし整数) [詳解]
 
int GetParameterSint32 (CriAtomEx.Parameter id)
 パラメータの取得(符号付き整数) [詳解]
 
void SetSoundRendererType (CriAtomEx.SoundRendererType type)
 出力サウンドレンダラタイプの設定 [詳解]
 
void SetRandomSeed (uint seed)
 乱数種の設定 [詳解]
 
void Loop (bool sw)
 ループ再生の切り替え [詳解]
 
void SetAsrRackId (int asr_rack_id)
 ASRラックIDの指定 [詳解]
 
void SetVoicePoolIdentifier (uint identifier)
 ボイスプール識別子の設定 [詳解]
 
void SetDspTimeStretchRatio (float ratio)
 DSPタイムストレッチ比率の設定 [詳解]
 
void SetDspPitchShifterPitch (float pitch)
 DSPピッチシフタのピッチシフト量の設定 [詳解]
 
void SetDspParameter (int id, float value)
 DSPパラメータの設定 [詳解]
 
void AttachTween (CriAtomExTween tween)
 AtomExTweenの取り付け [詳解]
 
void DetachTween (CriAtomExTween tween)
 AtomExTweenの取り外し [詳解]
 
void DetachTweenAll ()
 全てのAtomExTweenの取り外し [詳解]
 
void SetEnvelopeAttackCurve (CriAtomEx.CurveType curveType, float strength)
 エンベロープのアタックカーブの設定 [詳解]
 
void SetEnvelopeDecayCurve (CriAtomEx.CurveType curveType, float strength)
 エンベロープのディケイカーブの設定 [詳解]
 
void SetEnvelopeReleaseCurve (CriAtomEx.CurveType curveType, float strength)
 エンベロープのリリースカーブの設定 [詳解]
 
void AddOutputPort (CriAtomExOutputPort outputPort)
 出力ポートオブジェクトの追加 [詳解]
 
void RemoveOutputPort (CriAtomExOutputPort outputPort)
 出力ポートオブジェクトの取り外し [詳解]
 
void ClearOutputPorts ()
 出力ポートオブジェクトのクリア [詳解]
 
void AddPreferredOutputPort (CriAtomExOutputPort outputPort)
 優先出力ポートオブジェクトの追加 [詳解]
 
void RemovePreferredOutputPort (CriAtomExOutputPort outputPort)
 優先出力ポートオブジェクトの取り外し [詳解]
 
void RemovePreferredOutputPort (string name)
 優先出力ポートオブジェクトの取り外し(名前指定) [詳解]
 
void ClearPreferredOutputPorts ()
 優先出力ポートオブジェクトのクリア [詳解]
 
void SetScheduleTime (System.Int64 scheduleTime)
 予約再生時刻の指定 [詳解]
 

静的公開変数類

static readonly uint MaxOutputPorts = 8
 プレーヤーに指定可能な最大出力ポート数 [詳解]
 

プロパティ

CriAtomExBeatSync.CbFunc OnBeatSyncCallback
 シーケンスイベントコールバックの登録 [詳解]
 
CriAtomExSequencer.EventCallback OnSequenceCallback
 ビート同期コールバックの登録 [詳解]
 
int entryPoolCapacity [get]
 入力可能な連結再生用データの数
 

詳解

AtomExプレーヤ

説明:
音声再生制御に用いるプレーヤクラスです。
データのセットや再生の開始、ステータスの取得等の制御を行います。

列挙型メンバ詳解

enum Status
strong

プレーヤステータス

説明:
AtomExプレーヤの再生状態を示す値です。
CriWare.CriAtomExPlayer::GetStatus 関数で取得可能です。

再生状態は、通常以下の順序で遷移します。
  1. Stop
  2. Prep
  3. Playing
  4. PlayEnd
AtomExプレーヤ作成直後の状態は、停止状態( Stop )です。
CriWare.CriAtomExPlayer::SetCue 関数等でデータをセットし、 CriWare.CriAtomExPlayer::Start 関数を実行すると、再生準備状態( Prep )に遷移し、再生準備を始めます。
データが充分供給され、再生準備が整うと、ステータスは再生中( Playing ) に変わり、音声の出力が開始されます。
セットされたデータを全て再生し終えた時点で、ステータスは再生完了 ( PlayEnd )に変わります。
備考:
AtomExプレーヤは、1つのプレーヤで複数音の再生が可能です。
再生中のAtomExプレーヤに対して CriWare.CriAtomExPlayer::Start 関数を実行すると、 2つの音が重なって再生されます。
再生中に CriWare.CriAtomExPlayer::Stop 関数を実行した場合、 AtomExプレーヤで再生中の全ての音声が停止し、ステータスは Stop に戻ります。
CriWare.CriAtomExPlayer::Stop 関数の呼び出しタイミングによっては、 Stop に遷移するまでに時間がかかる場合があります。)

1つのAtomExプレーヤで複数回 CriWare.CriAtomExPlayer::Start 関数を実行した場合、 1つでも再生準備中の音があれば、ステータスは Prep 状態になります。
(全ての音声が再生中の状態になるまで、ステータスは Playing 状態に 遷移しません。)
また、 Playing 状態のプレーヤに対し、再度 CriWare.CriAtomExPlayer::Start 関数を実行した場合、ステータスは一時的に Prep に戻ります。

再生中に不正なデータを読み込んだ場合や、ファイルアクセスに失敗した場合、 ステータスは Error に遷移します。
複数の音声を再生中にある音声でエラーが発生した場合、プレーヤのステータスは 他の音声の状態に関係なく、 Error に遷移します。
参照
CriAtomExPlayer::GetStatus, CriAtomExPlayer::Start, CriAtomExPlayer
列挙値
Stop 

停止中

Prep 

再生準備中

Playing 

再生中

PlayEnd 

再生完了

Error 

エラーが発生

enum TimeStretchParameterId : int
strong

タイムストレッチ用パラメータ

説明:
タイムストレッチDSPに指定するパラメータです。
参照
CriAtomExVoicePool.AttachDspTimeStretch, CriAtomExPlayer.SetDspParameter
列挙値
Ratio 

ストレッチ比率

FrameTime 

フレーム時間

Quality 

処理品質

enum PitchShifterParameterId : int
strong

ピッチシフタ用パラメータ

説明:
ピッチシフタDSPに指定するパラメータです。
参照
CriAtomExVoicePool.AttachDspPitchShifter, CriAtomExPlayer.SetDspParameter
列挙値
Pitch 

ピッチ

Formant 

フォルマント

Mode 

ピッチシフトモード

構築子と解体子

CriAtomExPlayer ( )
inline

AtomExPlayerの作成

戻り値
AtomExプレーヤ
説明:
AtomExプレーヤを作成します。

作成されたAtomExプレーヤを使用して音声データを再生する手順は以下のとおりです。
  1. CriWare.CriAtomExPlayer::SetCue 関数を使用して、AtomExプレーヤに再生するデータをセットする。
  2. CriWare.CriAtomExPlayer::Start 関数で再生を開始する。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

パッキングされていない音声ファイルを CriWare.CriAtomExPlayer::SetFile 関数で指定して再生する場合、本関数の代わりに CriWare.CriAtomExPlayer::CriAtomExPlayer(int, int) を使用する必要があります。

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

AtomExPlayerの作成(単体ファイル再生用)

引数
maxPath最大パス文字列長
maxPathStrings同時再生ファイル数
戻り値
AtomExプレーヤ
説明:
単体ファイル再生用にAtomExプレーヤを作成します。
単体ファイル再生が可能な点を除き、基本的な仕様は CriWare.CriAtomExPlayer::CriAtomExPlayer() 関数と同じです。
備考:
本関数で作成されたAtomExプレーヤは、 単体ファイル再生用にmaxPath×maxPathStrings分のメモリ領域を確保します。
この領域は、ACBファイルやAWBファイルを再生する際には使用されません。
CriWare.CriAtomExPlayer::SetFile 関数を使用しない場合、本関数の代わりに CriWare.CriAtomExPlayer::CriAtomExPlayer() を使用することで、 メモリ使用量を抑えることが可能です。
参照
CriAtomExPlayer::CriAtomExPlayer()
CriAtomExPlayer ( bool  enableAudioSyncedTimer)
inline

AtomExPlayerの作成(音声同期タイマ利用)

引数
enableAudioSyncedTimer音声同期タイマ有効フラグ
戻り値
AtomExプレーヤ
説明:
音声同期タイマが利用可能なAtomExプレーヤを作成します。
音声に同期した再生時刻が取得可能な点を除き、基本的な仕様は CriWare.CriAtomExPlayer::CriAtomExPlayer() 関数と同じです。
備考:
本関数で引数に true を指定して作成されたAtomExプレーヤを用いて 再生された音声に対しては、再生済みサンプル数に同期する時刻の更新処理が 行われるようになります。
CriWare.CriAtomExPlayback::GetTimeSyncedWithAudio 関数を使用しない場合、 本関数の引数に false を指定するか、本関数の代わりに CriWare.CriAtomExPlayer::CriAtomExPlayer() を使用することで、負荷の増加を 抑えることが可能です。
注意:
本関数で引数に true を指定して作成されたAtomExプレーヤに対しては、 CriWare.CriAtomExPlayer::SetPitch 関数による再生ピッチの変更は行えません。
参照
CriAtomExPlayer::CriAtomExPlayer(), CriAtomExPlayback::GetTimeSyncedWithAudio()
CriAtomExPlayer ( int  maxPath,
int  maxPathStrings,
bool  enableAudioSyncedTimer 
)
inline

AtomExPlayerの作成(単体ファイル再生、音声同期タイマ利用)

引数
maxPath最大パス文字列長
maxPathStrings同時再生ファイル数
enableAudioSyncedTimer音声同期タイマ有効フラグ
戻り値
AtomExプレーヤ
説明:
単体ファイル再生用にAtomExプレーヤを作成します。
enableAudioSyncedTimer へのフラグ指定により、音声に同期した再生時刻が 取得可能になります。
基本的な仕様は CriWare.CriAtomExPlayer::CriAtomExPlayer() 関数と同じです。
参照
CriAtomExPlayer::CriAtomExPlayer(), CriAtomExPlayer::CriAtomExPlayer(int, int), CriAtomExPlayer::CriAtomExPlayer(bool)

関数詳解

override void Dispose ( )
inline

AtomExプレーヤの破棄

説明:
AtomExプレーヤを破棄します。
本関数を実行した時点で、AtomExプレーヤ作成時にDLL内で確保されたリソースが全て解放されます。
注意:
本関数は完了復帰型の関数です。
音声再生中のAtomExプレーヤを破棄しようとした場合、本関数内で再生停止を 待ってからリソースの解放が行われます。
(ファイルから再生している場合は、さらに読み込み完了待ちが行われます。)
そのため、本関数内で処理が長時間(数フレーム)ブロックされる可能性があります。
AtomExプレーヤの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
参照
CriAtomExPlayer::CriAtomExPlayer
void SetCue ( CriAtomExAcb  acb,
string  name 
)
inline

音声データのセット(キュー名指定)

引数
acbACBオブジェクト
nameキュー名
説明:
キュー名を、AtomExプレーヤに関連付けます。
本関数でキュー名を指定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、指定されたキューが再生されます。
備考:
CriWare.CriAtomExPlayer::SetCue 関数でキューをセットした場合、 以下の関数で設定されたパラメータは無視されます。
(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)
例:
:
// プレーヤの作成
// ACFファイルの登録
CriAtomEx.RegisterAcf(null, "sample.acf");
// ACBファイルのロード
CriAtomExAcb acb = CriAtomExAcb.LoadAcbFile(null, "sample.acb", "sample.awb");
// 再生するキューの名前を指定
player.SetCue(acb, "gun_shot");
// セットされた音声データを再生
player.Start();
:
尚、一旦セットしたデータの情報は、 他のデータがセットされるまでAtomExプレーヤ内に保持されます。
そのため、同じデータを何度も再生する場合には、 再生毎にデータをセットしなおす必要はありません。
CriWare.CriAtomExPlayer::Start 関数を繰り返し実行可能です。)
参照
CriAtomExPlayer::Start
void SetCue ( CriAtomExAcb  acb,
int  id 
)
inline

音声データのセット(キューID指定)

引数
acbACBオブジェクト
idキューID
説明:
キューIDを、AtomExプレーヤに関連付けます。
本関数でキューIDを指定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、指定されたキューが再生されます。
備考:
CriWare.CriAtomExPlayer::SetCue 関数でキューをセットした場合、以下の関数で設定された パラメータは無視されます。
(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)
例:
:
// プレーヤの作成
// ACFファイルの登録
CriAtomEx.RegisterAcf(null, "sample.acf");
// ACBファイルのロード
CriAtomExAcb acb = CriAtomExAcb.LoadAcbFile(null, "sample.acb", "sample.awb");
// 再生するキューのIDを指定
player.SetCue(acb, 100);
// セットされた音声データを再生
player.Start();
:
尚、一旦セットしたデータの情報は、 他のデータがセットされるまでAtomExプレーヤ内に保持されます。
そのため、同じデータを何度も再生する場合には、 再生毎にデータをセットしなおす必要はありません。
CriWare.CriAtomExPlayer::Start 関数を繰り返し実行可能です。)
参照
CriAtomExPlayer::Start
void SetCueIndex ( CriAtomExAcb  acb,
int  index 
)
inline

音声データのセット(キューインデックス指定)

引数
acbACBオブジェクト
indexキューインデックス
説明:
キューインデックスを、AtomExプレーヤに関連付けます。
本関数でキューインデックスを指定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、指定されたキューが再生されます。
備考:
CriWare.CriAtomExPlayer::SetCueIndex 関数でキューをセットした場合、 以下の関数で設定されたパラメータは無視されます。
(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)

本関数を使用することで、キュー名やキューIDを指定せずにプレーヤに対して 音声をセットすることが可能です。
(キュー名やキューIDがわからない場合でも、 ACBファイル内のコンテンツを一通り再生可能なので、 デバッグ用途に利用可能です。)
例:
:
// プレーヤの作成
// ACFファイルの登録
CriAtomEx.RegisterAcf(null, "sample.acf");
// ACBファイルのロード
CriAtomExAcb acb = CriAtomExAcb.LoadAcbFile(null, "sample.acb", "sample.awb");
// 再生するキューのインデックスを指定
player.SetCueIndex(acb, 300);
// セットされた音声データを再生
player.Start();
:
尚、一旦セットしたデータの情報は、 他のデータがセットされるまでAtomExプレーヤ内に保持されます。
そのため、同じデータを何度も再生する場合には、 再生毎にデータをセットしなおす必要はありません。
CriWare.CriAtomExPlayer::Start 関数を繰り返し実行可能です。)
参照
CriAtomExPlayer::Start
void SetContentId ( CriFsBinder  binder,
int  contentId 
)
inline

音声データのセット(CPKコンテンツIDの指定)

引数
binderバインダ
contentIdコンテンツID
説明:
コンテンツをAtomExプレーヤに関連付けます。
CRI File Systemライブラリを使用してCPKファイル内のコンテンツファイルを ID指定で再生するために使用します。
本関数でプレーヤにバインダとコンテンツIDを指定し、 CriWare.CriAtomExPlayer::Start 関数を実行すると、 指定されたコンテンツファイルがストリーミング再生されます。
尚、本関数を実行した時点では、ファイルの読み込みは開始されません。
ファイルの読み込みが開始されるのは、 CriWare.CriAtomExPlayer::Start 関数実行後です。
注意:
CriWare.CriAtomExPlayer::SetContentId 関数で音声データをセットする場合、 以下の関数を使用して再生する音声データの情報を別途指定する必要があります。
例:
:
// プレーヤの作成
// バインダの作成
CriFsBinder binder = new CriFsBinder();
// CPKファイルのバインドを開始
CriFsBindRequest bindRequest = CriFsUtility.BindCpk(binder, "sample.cpk");
// バインドの完了を待つ
yield return bindRequest.WaitForDone(this);
// 音声ファイルをセット
// sample.cpk内の1番のコンテンツをセット
player.SetContentId(binder, 1);
// 再生する音声データのフォーマットを指定
player.SetFormat(CriAtomEx.Format.ADX);
player.SetNumChannels(2);
player.SetSamplingRate(44100);
// セットされた音声データを再生
plaeyr.Start();
:
尚、一旦セットしたファイルの情報は、 他のデータがセットされるまでAtomExプレーヤ内に保持されます。
そのため、同じデータを何度も再生する場合には、 再生毎にデータをセットしなおす必要はありません。
CriWare.CriAtomExPlayer::Start 関数を繰り返し実行可能です。)
参照
CriAtomExPlayer::Start, CriAtomExPlayer::SetFormat, CriAtomExPlayer::SetNumChannels, CriAtomExPlayer::SetSamplingRate
void SetFile ( CriFsBinder  binder,
string  path 
)
inline

音声データのセット(ファイル名の指定)

引数
binderバインダオブジェクト
pathファイルパス
説明:
音声ファイルをAtomExプレーヤに関連付けます。
本関数でファイルを指定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、 指定されたファイルがストリーミング再生されます。
尚、本関数を実行した時点では、ファイルの読み込みは開始されません。
ファイルの読み込みが開始されるのは、 CriWare.CriAtomExPlayer::Start 関数実行後です。
注意:
本関数を使用する場合、AtomExプレーヤを単体ファイル再生用に作成する必要があります。
具体的には、 CriWare.CriAtomExPlayer::CriAtomExPlayer() の代わりに、 CriWare.CriAtomExPlayer::CriAtomExPlayer(int, int) を使用する必要があります。

CriWare.CriAtomExPlayer::SetFile 関数で音声データをセットする場合、 以下の関数を使用して再生する音声データの情報を別途指定する必要があります。
例:
:
// プレーヤの作成
// 音声ファイルをセット
player.SetFile(null, "sample.hca");
// 再生する音声データのフォーマットを指定
player.SetFormat(CriAtomEx.Format.HCA);
player.SetNumChannels(2);
player.SetSamplingRate(48000);
// セットされた音声データを再生
player.Start();
:
尚、一旦セットしたファイルの情報は、 他のデータがセットされるまでAtomExプレーヤ内に保持されます。
そのため、同じデータを何度も再生する場合には、 再生毎にデータをセットしなおす必要はありません。
CriWare.CriAtomExPlayer::Start 関数を繰り返し実行可能です。)
参照
CriAtomExPlayer::CriAtomExPlayer(int, int), CriAtomExPlayer::Start, CriAtomExPlayer::SetFormat, CriAtomExPlayer::SetNumChannels, CriAtomExPlayer::SetSamplingRate
void SetData ( byte[]  buffer,
int  size 
)
inline

音声データのセット(オンメモリバイト配列の指定)

引数
bufferバイト配列
sizeバッファサイズ
説明:
メモリ上に配置された音声データをAtomExプレーヤに関連付けます。
本関数でメモリアドレスとサイズを指定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、 指定されたデータが再生されます。
注意:
本関数を使用する場合、AtomExプレーヤを単体ファイル再生用に作成する必要があります。
具体的には、 CriWare.CriAtomExPlayer::CriAtomExPlayer() の代わりに、 CriWare.CriAtomExPlayer::CriAtomExPlayer(int, int) を使用する必要があります。

CriWare.CriAtomExPlayer::SetData 関数で音声データをセットする場合、 以下の関数を使用して再生する音声データの情報を別途指定する必要があります。
注意:
SetDataに渡すバッファアドレスは、ガベージコレクターに移動されないようにアプリケーション 側で事前に固定したものを渡してください。
例:
:
// プレーヤの作成
// 音声ファイルをセット
player.SetData(null, buffer, size);
// 再生する音声データのフォーマットを指定
player.SetFormat(CriAtomEx.Format.HCA);
player.SetNumChannels(2);
player.SetSamplingRate(48000);
// セットされた音声データを再生
player.Start();
:
尚、一旦セットしたファイルの情報は、 他のデータがセットされるまでAtomExプレーヤ内に保持されます。
そのため、同じデータを何度も再生する場合には、 再生毎にデータをセットしなおす必要はありません。
CriWare.CriAtomExPlayer::Start 関数を繰り返し実行可能です。)
参照
CriAtomExPlayer::CriAtomExPlayer(int, int), CriAtomExPlayer::Start, CriAtomExPlayer::SetFormat, CriAtomExPlayer::SetNumChannels, CriAtomExPlayer::SetSamplingRate
void SetData ( IntPtr  buffer,
int  size 
)
inline

音声データのセット(オンメモリバッファアドレスの指定)

引数
bufferバッファアドレス
sizeバッファサイズ
説明:
詳細は CriWare.CriAtomExPlayer::SetData(byte[], int) を参照してください。
参照
CriAtomExPlayer::SetData(byte[], int)
void SetFormat ( CriAtomEx.Format  format)
inline

フォーマットの指定

引数
formatフォーマット
説明:
AtomExプレーヤで再生する音声のフォーマットを指定します。
CriWare.CriAtomExPlayer::Start 関数で音声を再生した際、AtomExプレーヤは本関数で 指定されたフォーマットのデータを再生可能なボイスを、ボイスプールから取得します。
関数実行前のデフォルト設定値はADXフォーマットです。
備考:
本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。
キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。
void SetNumChannels ( int  numChannels)
inline

チャンネル数の指定

引数
numChannelsチャンネル数
説明:
AtomExプレーヤで再生する音声のチャンネル数を指定します。
CriWare.CriAtomExPlayer::Start 関数で音声を再生した際、AtomExプレーヤは本関数で 指定されたチャンネル数のデータを再生可能なボイスを、ボイスプールから取得します。
関数実行前のデフォルト設定値は2チャンネルです。
備考:
本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。
キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。
void SetSamplingRate ( int  samplingRate)
inline

サンプリングレートの指定

引数
samplingRateサンプリングレート
説明:
AtomExプレーヤで再生する音声のサンプリングレートを指定します。
CriWare.CriAtomExPlayer::Start 関数で音声を再生した際、AtomExプレーヤは本関数で 指定されたサンプリングレートのデータを再生可能なボイスを、ボイスプールから取得します。
関数実行前のデフォルト設定値は32000Hzです。
備考:
本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。
キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。
void PrepareEntryPool ( int  capacity,
bool  stopOnEmpty 
)
inline

連結再生用エントリプールの作成

引数
capacity入力可能なデータ個数
stopOnEmptyエントリプールが空の場合に停止するか
説明:
CriWare.CriAtomExPlayer::EntryData 等を利用した連結再生を行うためのエントリプールを作成します。
注意:
本関数を呼び出すと、プレーヤは連結再生用の再生モードになります。
stopOnEmpty フラグが false の場合、 CriWare.CriAtomExPlayer::SetDataCriWare.CriAtomExPlayer::EntryData などで供給したデータが終端まで達した場合も、再生中状態のまま次のデータ入力を待つようになります。
true の場合、供給したデータが枯渇すると再生を停止しますので、余裕をもってデータ入力を 行うようにしてください。
int GetNumEntries ( )
inline

連結再生用データのエントリ数

戻り値
エントリ数
説明:
連結再生用に入力されているエントリの数を取得します。
参照
CriAtomExPlayer::PrepareEntryPool, CriAtomExPlayer::EntryData
int GetNumConsumedEntries ( )
inline

再生処理に入力済みのエントリ数

戻り値
エントリ数
説明:
連結再生用に入力したあと、実際に再生処理に入力されたエントリの数を取得します。
CriAtomExPlayer::Start を呼び出した際にリセットされ、再生中はエントリが入力される限り増加します。
同一のエントリがループ再生されている場合は増加しません。
参照
CriAtomExPlayer::PrepareEntryPool, CriAtomExPlayer::EntryData
bool EntryFile ( CriFsBinder  binder,
string  path,
bool  repeat 
)
inline

連結再生用データの入力(ファイル名の指定)

引数
binderバインダオブジェクト
pathファイルパス
repeat次のデータが入力されていない場合に繰り返し再生するか
戻り値
データ入力に成功したか
説明:
連結再生用に音声ファイルを入力します。
連結再生を行う場合には、先頭データを CriWare.CriAtomExPlayer::SetData 関数等で 設定して再生開始後、本関数により追加の再生用データを入力してください。
参照
CriAtomExPlayer::PrepareEntryPool, CriAtomExPlayer::EntryContentId, CriAtomExPlayer::EntryData
bool EntryContentId ( CriFsBinder  binder,
int  contentId,
bool  repeat 
)
inline

連結再生用データの入力(CPKコンテンツIDの指定)

引数
binderバインダオブジェクト
contentIdコンテンツID
repeat次のデータが入力されていない場合に繰り返し再生するか
戻り値
データ入力に成功したか
説明:
連結再生用にコンテンツを入力します。
CRI File Systemライブラリを使用してCPKファイル内のコンテンツファイルを ID指定で再生するために使用します。
連結再生を行う場合には、先頭データを CriWare.CriAtomExPlayer::SetData 関数等で 設定して再生開始後、本関数により追加の再生用データを入力してください。
参照
CriAtomExPlayer::PrepareEntryPool, CriAtomExPlayer::EntryFile, CriAtomExPlayer::EntryData
bool EntryData ( byte[]  buffer,
int  size,
bool  repeat 
)
inline

連結再生用データの入力(オンメモリバイト配列の指定)

引数
bufferオンメモリバイト配列
sizeバッファサイズ
repeat次のデータが入力されていない場合に繰り返し再生するか
戻り値
データ入力に成功したか
説明:
連結再生用データを入力します。
連結再生を行う場合には、先頭データを CriWare.CriAtomExPlayer::SetData 関数等で 設定して再生開始後、本関数によりデータを入力してください。
参照
CriAtomExPlayer::PrepareEntryPool, CriAtomExPlayer::EntryFile, CriAtomExPlayer::EntryContentId
bool EntryData ( IntPtr  buffer,
int  size,
bool  repeat 
)
inline

連結再生用データの入力(オンメモリバッファアドレスの指定)

引数
bufferバッファアドレス
sizeバッファサイズ
repeat次のデータが入力されていない場合に繰り返し再生するか
戻り値
データ入力に成功したか
説明:
連結再生用データを入力します。
連結再生を行う場合には、先頭データを CriWare.CriAtomExPlayer::SetData 関数等で 設定して再生開始後、本関数によりデータを入力してください。
参照
CriAtomExPlayer::PrepareEntryPool
bool EntryCue ( CriAtomExAcb  acb,
string  name,
bool  repeat 
)
inline

連結再生用データの入力(キュー名の指定)

引数
acbACBハンドル
nameキュー名
repeat次のデータが入力されていない場合に繰り返し再生するか
戻り値
データ入力に成功したか
説明:
連結再生用データを入力します。
連結再生を行う場合には、先頭データを CriWare.CriAtomExPlayer::SetData 関数等で 設定して再生開始後、本関数によりデータを入力してください。
参照
CriAtomExPlayer::PrepareEntryPool
CriAtomExPlayback Start ( )
inline

再生の開始

戻り値
CriAtomExPlaybackオブジェクト
説明:
音声データの再生処理を開始します。
本関数を実行する前に、事前に CriWare.CriAtomExPlayer::SetCue 関数等を使用し、 再生する音声データをAtomExプレーヤにセットしておく必要があります。
例えば、キューを再生する場合には、以下のように事前に CriWare.CriAtomExPlayer::SetCue 関数を使って音声データをセットした後、本関数を実行する 必要があります。
:
// ACFファイルの登録
CriAtomEx.RegisterAcf(null, "sample.acf");
// ACBファイルのロード
CriAtomExAcb acb = CriAtomExAcb.LoadAcbFile(null, "sample.acb", "sample.awb");
// プレーヤの作成
// 再生するキューの名前を指定
player.SetCue(acb, "gun_shot");
// セットされた音声データを再生
player.Start();
:
本関数実行後、再生の進み具合(発音が開始されたか、再生が完了したか等) がどうなっているかは、ステータスを取得することで確認が可能です。
ステータスの取得には、 CriWare.CriAtomExPlayer::GetStatus 関数を使用します。
CriWare.CriAtomExPlayer::GetStatus 関数は以下の5通りのステータスを返します。
-# Stop
  1. Prep
  2. Playing
  3. PlayEnd
  4. Error
AtomExプレーヤを作成した時点では、AtomExプレーヤのステータスは停止状態( Stop )です。
再生する音声データをセット後、本関数を実行することで、 AtomExプレーヤのステータスが準備状態( Prep )に変更されます。
(Prep は、データ供給やデコードの開始を待っている状態です。)
再生の開始に充分なデータが供給された時点で、AtomExプレーヤはステータスを 再生状態( Playing )に変更し、音声の出力を開始します。
セットされたデータを全て再生し終えると、AtomExプレーヤはステータスを再生終了状態 ( PlayEnd )に変更します。
尚、再生中にエラーが発生した場合には、AtomExプレーヤはステータスをエラー状態 ( Error )に変更します。

AtomExプレーヤのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
例えば、音声の再生完了を待って処理を進めたい場合には、以下のようなコードになります。
:
// プレーヤの作成
// 再生するキューの名前を指定
player.SetCue(acb, "gun_shot");
// セットされた音声データを再生
player.Start();
// 再生完了待ち
while (player.GetStatus() != CriAtomExPlayer.Status.PlayEnd) {
yield return null;
}
:
参照
CriAtomExPlayer::SetCue, CriAtomExPlayer::GetStatus
CriAtomExPlayback Prepare ( )
inline

再生の準備

戻り値
CriAtomExPlaybackオブジェクト
説明:
音声データの再生を準備します。
本関数を実行する前に、事前に CriWare.CriAtomExPlayer::SetData 関数等を使用し、 再生すべき音声データをAtomExプレーヤにセットしておく必要があります。

本関数を実行すると、ポーズをかけた状態で音声の再生を開始します。
関数実行のタイミングで音声再生に必要なリソースを確保し、 バッファリング(ストリーム再生を行うファイルの読み込み)を開始しますが、 バッファリング完了後も発音は行われません。
(発音可能な状態になっても、ポーズ状態で待機します。)

1音だけを再生するケースでは、本関数は以下のコードと同じ動作をします。
// プレーヤをポーズ状態に設定
player.Pause();
// 音声の再生を開始
CriAtomExPlayback playback = player.Start();

本関数で再生準備を行った音声を発音するには、 本関数が返すCriAtomExPlaybackオブジェクトに対し、 CriWare.CriAtomExPlayback::Resume を実行する必要があります。
備考:
ストリーミング再生時には、 CriWare.CriAtomExPlayer::Start 関数で再生を開始しても、 実際に音声の再生が開始されるまでにはタイムラグがあります。
(音声データのバッファリングに時間がかかるため。)

以下の操作を行うことで、ストリーム再生の音声についても、発音のタイミングを 制御することが可能になります。
  1. CriWare.CriAtomExPlayer::Prepare 関数で準備を開始する。
  2. 手順1.で取得したCriAtomExPlaybackオブジェクトのステータスを CriWare.CriAtomExPlayback::GetStatus 関数で確認。
  3. ステータスが Playing になった時点で CriWare.CriAtomExPlayback::Resume 関数でポーズを解除。
  4. ポーズ解除後、次にサーバ処理が動作するタイミングで発音が開始される。
具体的なコードは、以下のとおりです。
:
// プレーヤの作成
// 再生するキューの名前を指定
player.SetCue(acb, "gun_shot");
// セットされた音声データの再生準備を開始
CriAtomExPlayback playback = player.Prepare();
// 再生準備完了待ち
while (playback.GetStatus() != CriAtomExPlayback.Status.Playing) {
yield return null;
}
// ポーズを解除
playback.Resume(CriAtomEx.ResumeMode.PreparedPlayback);
:
注意:
ポーズ解除時に PausedPlayback を指定した場合、 本関数による再生準備のためのポーズと、 CriWare.CriAtomExPlayer::Pause 関数による一時停止処理の両方が解除されます。
CriWare.CriAtomExPlayer::Pause 関数でポーズした音声を停止したまま 本関数で再生準備を行った音声を再生したい場合、ポーズの解除時に PreparedPlayback を指定してください。
参照
CriAtomExPlayback::GetStatus, CriAtomExPlayback::Resume
void Stop ( bool  ignoresReleaseTime)
inline

再生の停止

引数
ignoresReleaseTimeリリース時間を無視するかどうか (False = リリース処理を行う、True = リリース時間を無視して即座に停止する)
説明:
再生の停止要求を発行します。
音声再生中のAtomExプレーヤに対して本関数を実行すると、 AtomExプレーヤは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( Stop )に遷移します。

引数をTrueに設定した場合、 再生中の音声にエンベロープのリリースタイムが設定されていたとしても、 リリース時間を無視して音声を即座に停止します。
備考:
既に停止しているAtomExプレーヤ(ステータスが PlayEnd や Error のAtomExプレーヤ) に対して本関数を実行すると、AtomExプレーヤのステータスを Stop に変更します。
注意:
音声再生中のAtomExプレーヤに対して本関数を実行した場合、 ステータスが即座に Stop になるとは限りません。
(停止状態になるまでに、時間がかかる場合があります。)
参照
CriAtomExPlayer::Start, CriAtomExPlayer::GetStatus
void Pause ( )
inline

ポーズ

説明:
再生を一時停止します。
備考:
デフォルト状態(プレーヤ作成直後の状態)では、ポーズは解除されています。
注意:
本関数を実行すると、プレーヤで再生している"全ての"音声に対してポーズ処理が行われます。
再生中の個々の音声に対し、個別にポーズ処理を行う場合には、 CriWare.CriAtomExPlayback::Pause 関数をご利用ください。
参照
CriAtomExPlayer::Resume, CriAtomExPlayer::IsPaused, CriAtomExPlayback::Pause
void Resume ( CriAtomEx.ResumeMode  mode)
inline

ポーズ解除

引数
modeポーズ解除対象
説明:
一時停止状態の解除を行います。

引数(mode)に PausedPlayback を指定して本関数を実行すると、 ユーザが CriWare.CriAtomExPlayer::Pause 関数(または CriWare.CriAtomExPlayback::Pause 関数)で一時停止状態になった音声の再生が再開されます。
引数(mode)に PreparedPlayback を指定して本関数を実行すると、 ユーザが CriWare.CriAtomExPlayer::Prepare 関数で再生準備を指示した音声の再生が開始されます。
備考:
CriWare.CriAtomExPlayer::Pause 関数でポーズ状態のプレーヤに対して CriWare.CriAtomExPlayer::Prepare 関数で再生準備を行った場合、その音声は PausedPlayback 指定のポーズ解除処理と、 PreparedPlayback 指定のポーズ解除処理の両方が行われるまで、再生が開始されません。

CriWare.CriAtomExPlayer::Pause 関数か CriWare.CriAtomExPlayer::Prepare 関数かに関係なく、 常に再生を開始したい場合には、引数(mode)に AllPlayback を指定して本関数を実行してください。
注意:
本関数を実行すると、プレーヤで再生している"全ての"音声に対してポーズ解除 の処理が行われます。
再生中の個々の音声に対し、個別にポーズ解除の処理を行う場合には、 CriWare.CriAtomExPlayback::Resume 関数をご利用ください。
参照
CriAtomExPlayer::Pause, CriAtomExPlayback::Resume
bool IsPaused ( )
inline

ポーズ状態の取得

戻り値
ポーズ中かどうか(False = ポーズされていない、True = ポーズ中)
説明:
プレーヤがポーズ中かどうかを返します。
注意:
本関数が ture を返すのは、「全ての音声がポーズ中の場合」のみです。
CriWare.CriAtomExPlayer::Pause 関数実行後、再生ID指定で個々の音声のポーズを解除 ( CriWare.CriAtomExPlayback::Pause 関数を実行)した場合、本関数は false を 返します。

本関数は CriWare.CriAtomExPlayer::Pause 関数でポーズされた音声と、 CriWare.CriAtomExPlayer::Prepare 関数でポーズされた音声とを区別しません。
(ポーズ方法に関係なく、全ての音声がポーズされているかどうかのみを判定します。)
参照
CriAtomExPlayer::Pause, CriAtomExPlayback::Pause
void SetVolume ( float  volume)
inline

ボリュームの設定

引数
volumeボリューム値
説明:
出力音声のボリュームを指定します。
本関数でボリュームを設定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、 設定されたボリュームで音声が再生されます。
またボリューム設定後に CriWare.CriAtomExPlayer::Update 関数や CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことで、すでに再生中の音声のボリュームを更新することも可能です。

ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
ボリュームのデフォルト値は1.0fです。
備考:
ボリューム値には0.0f以上の値が設定可能です。
1.0fを超える値をセットした場合、プラットフォームによっては、 波形データを元素材よりも大きな音量で再生可能です。
ボリューム値に0.0f未満の値を指定した場合、値は0.0fにクリップされます。
(ボリューム値に負の値を設定した場合でも、 波形データの位相が反転されることはありません。)

キュー再生時、データ側にボリュームが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。
例えば、データ側のボリュームが0.8f、AtomExプレーヤのボリュームが0.5fの場合、 実際に適用されるボリュームは0.4fになります。

デシベルで設定したい場合、以下の計算式で変換してから設定してください。
volume = Math.Pow(10.0f, db_vol / 20.0f);
※db_volがデシベル値、volumeがボリューム値です。
注意:
1.0fを超えるボリュームを指定する場合、以下の点に注意する必要があります。
  • プラットフォームごとに挙動が異なる可能性がある。
  • 音割れが発生する可能性がある。

本関数に1.0fを超えるボリューム値を設定した場合でも、 音声が元の波形データよりも大きな音量で再生されるかどうかは、 プラットフォームや音声圧縮コーデックの種別によって異なります。
そのため、マルチプラットフォームタイトルでボリュームを調整する場合には、 1.0fを超えるボリューム値を使用しないことをおすすめします。
(1.0fを超えるボリューム値を指定した場合、同じ波形データを再生した場合でも、 機種ごとに異なる音量で出力される可能性があります。)

また、音量を上げることが可能な機種であっても、 ハードウェアで出力可能な音量には上限があるため、 音割れによるノイズが発生する可能性があります。
例:
// プレーヤの作成
// ボリュームの設定
player.SetVolume(0.5f);
// 再生の開始
// 備考)ボリュームはプレーヤに設定された値(=0.5f)で再生される。
CriAtomExPlayback playback = player.Start();
// ボリュームの変更
// 注意)この時点では再生中の音声のボリュームは変更されない。
player.SetVolume(0.3f);
// プレーヤに設定されたボリュームを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll
void SetPitch ( float  pitch)
inline

ピッチの設定

引数
pitchピッチ(セント単位)
説明:
出力音声のピッチを指定します。
本関数でピッチを設定後、 CriWare.CriAtomExPlayer::Start 関数で再生開始すると、 設定されたピッチで音声が再生されます。
またピッチ後に CriWare.CriAtomExPlayer::Update 関数や CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、すでに再生された音声のピッチを更新することが可能です。

ピッチはセント単位で指定します。
1セントは1オクターブの1/1200です。半音は100セントです。
例えば、100.0fを指定した場合、ピッチが半音上がります。-100.0fを指定した場合、 ピッチが半音下がります。
ピッチのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にピッチが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のピッチが-100.0f、AtomExプレーヤのピッチが200.0fの場合、 実際に適用されるピッチは100.0fになります。
サンプリングレートの周波数比率で設定したい場合、以下の計算式で変換してから設定してください。
pitch = 1200.0 * Math.Log(freq_ratio, 2.0);
※freq_ratioが周波数比率、pitchがピッチの値です。
注意:
HCA-MX用にエンコードされた音声データは、ピッチの変更ができません。
(本関数を実行しても、ピッチは変わりません。)
ピッチを変更したい音声については、ADXやHCA等、他のコーデックでエンコードを行ってください。

設定可能な最大ピッチは、音声データのサンプリングレートとボイスプールの最大サンプリングレートに依存します。
例えば、音声データのサンプリングレートが24kHzで、ボイスプールの最大サンプリングレートが48kHzの場合、 設定可能な最大ピッチは1200(周波数比率2倍)になります。

再生サンプリングレートの上下によりピッチを実装しているため、 ピッチを変更すると音程と一緒に再生速度も変化します。
例:
// プレーヤの作成
// ピッチの設定
player.SetPitch(100.0f);
// 再生の開始
// 備考)ピッチはプレーヤに設定された値(=100セント)で再生される。
CriAtomExPlayback playback = player.Start();
// ピッチの変更
// 注意)この時点では再生中の音声のピッチは変更されない。
player.SetPitch(-200.0f);
// プレーヤに設定されたピッチを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll
void SetPlaybackRatio ( float  ratio)
inline

シーケンス再生レシオの設定

引数
ratioシーケンス再生レシオ
説明:
プレーヤで再生するシーケンスの再生レシオを設定します。
再生レシオの設定範囲は 0.0f ~ 2.0f です。
範囲外の値を設定した場合は、下限値もしくは上限値が設定されます。
本関数で再生レシオを指定後、 CriWare.CriAtomExPlayer::Start 関数で再生を開始すると、指定された再生レシオで再生できます。 再生中にレシオを変更したい場合は、 CriWare.CriAtomExPlayer::Update 関数や CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出してください。
注意:
本関数による設定値は、シーケンスタイプのキューを再生する場合にのみ適用されます。
シーケンスにて発音する波形データの再生レシオには利用できません。
波形の再生レシオを変更したい場合は、タイムストレッチ機能をご利用ください。
参照
CriAtomPlayer::Update, CriAtomPlayer::UpdateAll
void SetPan3dAngle ( float  angle)
inline

パンニング3D角度の設定

引数
angleパンニング3D角度(-180.0f~180.0f:度単位)
説明:
パンニング3D角度を指定します。
本関数でパンニング3D角度を設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたパンニング3D角度で再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンニング3D角度を更新することができます。

角度は度単位で指定します。
前方を0度とし、右方向(時計回り)に180.0f、左方向(反時計回り)に-180.0fまで設定できます。
例えば、45.0fを指定した場合、右前方45度に定位します。-45.0fを指定した場合、左前方45度に定位します。
備考:
キュー再生時、データ側にパンニング3D角度が設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のパンニング3D角度が15.0f、AtomExプレーヤのパンニング3D角度が30.0fの場合、 実際に適用されるパンニング3D角度は45.0fになります。
実際に適用されるパンニング3D角度が180.0fを超える値になった場合、値を-360.0fして範囲内に納めます。
同様に、実際に適用されるボリューム値が-180.0f未満の値になった場合は、値を+360.0fして範囲内に納めます。
(+360.0f, -360.0fしても定位は変わらないため、実質的には-180.0f~180.0fの範囲を超えて設定可能です。)
例:
// プレーヤの作成
// パンニング3D角度の設定
player.SetPan3dAngle(45.0f);
// 再生の開始
// 備考)パンニング3D角度はプレーヤに設定された値(=45.0f)で再生される。
CriAtomExPlayback playback = player.Start();
// パンニング3D角度の変更
// 注意)この時点では再生中の音声のパンニング3D角度は変更されない。
player.SetPan3dAngle(-45.0f);
// プレーヤに設定されたパンニング3D角度を再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll
void SetPan3dInteriorDistance ( float  distance)
inline

パンニング3D距離の設定

引数
distanceパンニング3D距離(-1.0f~1.0f)
説明:
パンニング3Dでインテリアパンニングを行う際の距離を指定します。
本関数でパンニング3D距離を設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたパンニング3D距離で再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、すでに再生された音声のパンニング3D距離を更新することができます。

距離は、リスナー位置を0.0f、スピーカーの配置されている円周上を1.0fとして、-1.0f~1.0fの範囲で指定します。
負値を指定すると、パンニング3D角度が180度反転し、逆方向に定位します。
備考:
キュー再生時、データ側にパンニング3D距離が設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。
例えば、データ側のパンニング3D距離が0.8f、AtomExプレーヤのパンニング3D距離が0.5fの場合、 実際に適用されるパンニング3D距離は0.4fになります。
実際に適用されるパンニング3D距離が1.0fを超える値になった場合、値は1.0fにクリップされます。
同様に、実際に適用されるパンニング3D距離が-1.0f未満の値になった場合も、値は-1.0fにクリップされます。
例:
// プレーヤの作成
// パンニング3D距離の設定
player.SetPan3dInteriorDistance(0.5f);
// 再生の開始
// 備考)パンニング3D距離はプレーヤに設定された値(=0.5f)で再生される。
CriAtomExPlayback playback = player.Start();
// パンニング3D距離の変更
// 注意)この時点では再生中の音声のパンニング3D距離は変更されない。
// 備考)以下の処理はパン3D角度を180度反転するのと等価
player.SetPan3dInteriorDistance(-0.5f);
// プレーヤに設定されたパンニング3D距離を再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll
void SetPan3dVolume ( float  volume)
inline

パンニング3Dボリュームの設定

引数
volumeパンニング3Dボリューム(0.0f~1.0f)
説明:
パンニング3Dのボリュームを指定します。
本関数でパンニング3Dボリュームを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたパンニング3Dボリュームで再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンニング3Dボリュームを更新することができます。

パンニング3Dボリュームは、パンニング3D成分と、 センター/LFEへの出力レベルとを個別に制御する場合に使用します。
例えば、センドレベルで常にLFEから一定のボリュームで出力させておき、 定位はパンニング3Dでコントロールするような場合です。
値の範囲や扱いは、通常のボリュームと同等です。 CriWare.CriAtomExPlayer::SetVolume 関数を参照してください。
例:
// プレーヤの作成
// パンニング3Dボリュームの設定
player.SetPan3dVolume(0.8f);
// 再生の開始
// 備考)パンニング3Dボリュームはプレーヤに設定された値(=0.5f)で再生される。
CriAtomExPlayback playback = player.Start();
// パンニング3Dボリュームの変更
// 注意)この時点では再生中の音声のパンニング3Dボリュームは変更されない。
player.SetPan3dVolume(0.7f);
// プレーヤに設定されたパンニング3Dボリュームを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomExPlayer::SetVolume
void SetPanType ( CriAtomEx.PanType  panType)
inline

パンタイプの設定

引数
panTypeパンタイプ
説明:
パンタイプを指定します。
本関数でパンタイプを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたパンタイプで再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンタイプを更新することができます。
備考:
キュー再生時に本関数を呼び出すと、データ側に設定されているパンタイプ設定を 上書きします(データ側の設定値は無視されます)。
通常はデータ側でパンタイプが設定されているため、本関数を呼び出す必要はありません。
ACBファイルを使用せずに音声を再生する場合に、3Dポジショニング処理を有効にするためには、 本関数で Pos3d を設定してください。
注意:
CriAtomEx.PanType.Unknownを指定して実行した場合、エラーが発生します。
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomEx.PanType
void SetSendLevel ( int  channel,
CriAtomEx.Speaker  id,
float  level 
)
inline

センドレベルの設定

引数
channelチャンネル番号
idスピーカーID
levelセンドレベル値(0.0f~1.0f)
説明:
センドレベルを指定します。
センドレベルは、音声データの各チャンネルの音声を、どのスピーカーから どの程度の音量で出力するかを指定するための仕組みです。
本関数でセンドレベルを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたセンドレベルで再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のセンドレベルを更新することができます。

第1引数のチャンネル番号は"音声データのチャンネル番号"を指定します。
第2引数のスピーカーIDには、指定したチャンネル番号のデータをどのスピーカーから 出力するかを指定し、第3引数では送信時のレベル(ボリューム)を指定します。
例えば、音声データのチャンネル0番のデータをライトスピーカーから フルボリューム(1.0f)で出力したい場合、指定は以下のようになります。
player.SetSendLevel(0, CriAtomEx.Speaker.FrontRight, 1.0f);

センドレベル値の範囲や扱いは、ボリュームと同等です。 CriWare.CriAtomExPlayer::SetVolume 関数を参照してください。

備考:
センドレベルの設定には「自動設定」「手動設定」の2通りが存在します。
AtomExプレーヤを作成した直後や、 CriWare.CriAtomExPlayer::ResetParameters 関数で パラメータをクリアした場合、センドレベルの設定は「自動設定」となります。
これに対し、本関数を実行した場合、センドレベルの設定は「手動設定」になります。
(ユーザが各スピーカーへのセンドレベルをコントロールし、パンニングを行う必要があります。)

「自動設定」の場合、AtomExプレーヤは以下のように音声をルーティングします。

【モノラル音声を再生する場合】
チャンネル0の音声を左右のスピーカーから約0.7f(-3dB)のボリュームで出力します。

【ステレオ音声を再生する場合】
チャンネル0の音声をレフトスピーカーから、 チャンネル1の音声をライトスピーカーから出力します。

【4ch音声を再生する場合】
チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をサラウンドレフトスピーカーから、 チャンネル3の音声をサラウンドライトスピーカーからでそれぞれ出力します。

【5.1ch音声を再生する場合】
チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をセンタースピーカーから、チャンネル3の音声をLFEから、 チャンネル4の音声をサラウンドレフトスピーカーから、 チャンネル5の音声をサラウンドライトスピーカーからそれぞれ出力します。

【7.1ch音声を再生する場合】
チャンネル0の音声をレフトスピーカーから、チャンネル1の音声をライトスピーカーから、 チャンネル2の音声をセンタースピーカーから、チャンネル3の音声をLFEから、 チャンネル4の音声をサラウンドレフトスピーカーから、 チャンネル5の音声をサラウンドライトスピーカーからそれぞれ出力します。
チャンネル6の音声をサラウンドバックレフトスピーカーから、 チャンネル7の音声をサラウンドバックライトスピーカーからそれぞれ出力します。

これに対し、本関数を用いて「手動設定」を行った場合、音声データのチャンネル数に 関係なく、指定されたセンドレベル設定で音声が出力されます。
(音声データのチャンネル数に応じて、適宜センドレベル設定を切り替える必要があります。)

過去に指定したセンドレベルをクリアし、ルーティングを「自動設定」の状態に戻したい場合は、 CriWare.CriAtomExPlayer::ResetParameters 関数を実行してください。

本パラメータはデータ側には設定できないため、常に本関数の設定値が適用されます。
注意:
センドレベルを設定していないチャンネルについては、音声が出力されません。
例えば、再生する音声データがステレオにもかかわらず、どちらか一方のチャンネルに対して しかセンドレベルが設定されていない場合、センドレベルを設定していないチャンネルの音声 はミュートされます。
センドレベルをコントロールする際には、必ず出力を行いたい全てのチャンネルについてセンド レベルの設定を行ってください。
例:
CriSint32 ch = 0; // channel number 0
CriAtomEx.Speaker spk = CriAtomEx.Speaker.FrontCenter;
CriFloat32 level = 1.0f;
// Set send level(ch0 to center)
player.SetSendLevel(ch, spk, level);
// Start playback
CriAtomExPlayback playback = player.Start();
:
// Change send level
level = 0.7f;
player.SetSendLevel(ch, spk, level);
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomExPlayer::SetVolume
void SetBiquadFilterParameters ( CriAtomEx.BiquadFilterType  type,
float  frequency,
float  gain,
float  q 
)
inline

バイクアッドフィルタのパラメータの設定

引数
typeフィルタタイプ
frequency正規化周波数(0.0f~1.0f)
gainゲイン(デシベル値)
qQ値
説明:
バイクアッドフィルタの各種パラメータを指定します。
本関数でパラメータを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたパラメータでバイクアッドフィルタが動作します。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対してバイクアッドフィルタのパラメータを更新することができます。

正規化周波数は、対数軸上の24Hz~24000Hzを、0.0f~1.0fに正規化した値です。
ゲインはデシベルで指定します。
ゲインはフィルタタイプが以下の場合のみ有効です。
  • LowShelf :ローシェルフフィルタ
  • HighShelf :ハイシェルフフィルタ
  • Peaking :ピーキングフフィルタ .
備考:
- type
データに設定された値を上書きします。
  • frequency
    データに設定された値に加算されます。
  • gain
    データに設定された値に乗算されます。
  • q
    データに設定された値に加算されます。

実際に適用される正規化カットオフ周波数が1.0fを超える値になった場合、値は1.0fにクリップされます。
同様に、実際に適用される正規化カットオフ周波数が0.0f未満の値になった場合も、値は0.0fにクリップされます。
注意:
HCA-MX用にエンコードされた音声データには、バイクアッドフィルタが適用されません。
バイクアッドフィルタを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
例:
// プレーヤの作成
// フィルタのパラメータを設定
CriAtomEx.BiquadFilterType type = CriAtomEx.BiquadFilterType.LowPass;
float frequency = 0.5f;
float gain = 1.0f;
float q = 3.0f;
player.SetBiquadFilterParameters(type, frequency, gain, q);
// 再生の開始
CriAtomExPlayback playback = player.Start();
// パラメータの変更
// 注意)この時点では再生中の音声のパラメータは変更されない。
frequency = 0.7f;
player.SetBiquadFilterParameters(type, frequency, gain, q);
// プレーヤに設定されたパラメータを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll
void SetBandpassFilterParameters ( float  cofLow,
float  cofHigh 
)
inline

バンドパスフィルタのパラメータ設定

引数
cofLow正規化低域カットオフ周波数(0.0f~1.0f)
cofHigh正規化高域カットオフ周波数(0.0f~1.0f)
説明:
バンドパスフィルタのカットオフ周波数を指定します。
本関数でカットオフ周波数を設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたカットオフ周波数でバンドパスフィルタが動作します。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対してバンドパスフィルタのカットオフ周波数を更新することができます。

正規化カットオフ周波数は、対数軸上の24Hz~24000Hzを、0.0f~1.0fに正規化した値です。
例えば、正規化低域カットオフ周波数を0.0f、正規化高域カットオフ周波数を1.0fと指定すると、 バンドパスフィルタは全域が通過し、正規化低域カットオフ周波数を上げるほど、 また正規化高域カットオフ周波数を下げるほど、通過域が狭くなっていきます。
備考:
キュー再生時、データ側にバンドパスフィルタのパラメータが設定されている場合に本関数を呼び出すと、 以下のように設定されます。
  • cofLow
    データに設定された値に対し、「cofLowRev = 1.0f - cofLow」としてから乗算し、 最終的にまた「cofLow = 1.0f - cofLowRev」と元に戻して適用されます。
    つまり、0.0fを「低域側に最もフィルタを開く」として、開き具合を乗算して適用していく形になります。
  • cofHigh
    データに設定された値に対し、乗算して適用されます。
    つまり、1.0fを「高域側に最もフィルタを開く」として、開き具合を乗算して適用していく形になります。

実際に適用される正規化カットオフ周波数が1.0fを超える値になった場合、値は1.0fにクリップされます。
同様に、実際に適用される正規化カットオフ周波数が0.0f未満の値になった場合も、値は0.0fにクリップされます。
例:
// プレーヤの作成
// フィルタのパラメータを設定
float cof_low = 0.0f;
float cof_high = 0.3f;
player.SetBandpassFilterParameter(cof_low, cof_high);
// 再生の開始
CriAtomExPlayback playback = player.Start();
// パラメータの変更
// 注意)この時点では再生中の音声のパラメータは変更されない。
cof_low = 0.7f;
cof_high = 1.0f;
player.SetBandpassFilterParameter(cof_low, cof_high);
// プレーヤに設定されたパラメータを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll
void SetBusSendLevel ( string  busName,
float  level 
)
inline

バスセンドレベルの設定(バス名指定)

引数
busNameバス名
levelセンドレベル値(0.0f~1.0f)
説明:
バスセンドレベルを指定します。
バスセンドレベルは、音声をどのバスにどれだけ流すかを指定するための仕組みです。
本関数でバスセンドレベルを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたバスセンドレベルで再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のバスセンドレベルを更新することができます。

第1引数のバスIDは"音声データのチャンネル番号"を指定します。
第2引数では送信時のレベル(ボリューム)を指定します。

センドレベル値の範囲や扱いは、ボリュームと同等です。 CriWare.CriAtomExPlayer::SetVolume 関数を参照してください。
備考:
本関数を複数回呼び出すことで、複数のバスに流すこともできます。
例:
// プレーヤの作成
// バスセンドレベルを設定
int bus_id = 1; // ex. reverb, etc...
float level = 0.3f;
player.SetBusSendLevel(bus_id, level);
// 再生の開始
CriAtomExPlayback playback = player.Start();
// パラメータの変更
// 注意)この時点では再生中の音声のパラメータは変更されない。
level = 0.5f;
player.SetBusSendLevel(bus_id, level);
// プレーヤに設定されたパラメータを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomExPlayer::SetVolume
bool GetBusSendLevel ( string  busName,
out float  level 
)
inline

バスセンドレベルの取得(バス名指定)

引数
busNameバス名
levelセンドレベル値(0.0f~1.0f)
戻り値
取得できたかどうか?(取得できた:TRUE/取得できない:FALSE)
説明:
プレーヤーに設定されている特定のバスセンドレベルを取得します。
以下のケースに該当する場合、バス鮮度レベルの取得に失敗します。
  • 指定した名前のバスが適用中のDSPバス設定に存在しない
  • プレーヤーに指定したバスへのセンドレベル設定が行われていない
参照
CriAtomExPlayer::SetBusSendLevel
void SetBusSendLevel ( int  busId,
float  level 
)
inline
非推奨:
削除予定の非推奨APIです。 CriAtomExPlayer.SetBusSendLevel(string busName, float level)の使用を検討してください。
void SetBusSendLevelOffset ( string  busName,
float  levelOffset 
)
inline

オフセットによるバスセンドレベルの設定(バス名指定)

引数
busNameバス名
levelOffsetセンドレベル値(0.0f~1.0f)
説明:
バスセンドレベルをオフセットで指定します。
キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
それ以外の仕様は CriWare.CriAtomExPlayer::SetBusSendLevel 関数と同様です。
備考:
CriWare.CriAtomExPlayer::SetBusSendLevel 関数で 0.0f を設定し、かつ本関数でオフセット値を設定することで、
データ側に設定されていたバスセンドレベルを無視して値が設定可能です。(上書き設定)
参照
CriAtomExPlayer::SetBusSendLevel
bool GetBusSendLevelOffset ( string  busName,
out float  level 
)
inline

バスセンドレベルのオフセットの取得(バス名指定)

引数
busNameバス名
levelセンドレベルのオフセット値(0.0f~1.0f)
戻り値
取得できたかどうか?(取得できた:TRUE/取得できない:FALSE)
説明:
プレーヤーに設定されている特定のバスセンドレベルのオフセットを取得します。
以下のケースに該当する場合、バス鮮度レベルの取得に失敗します。
  • 指定した名前のバスが適用中のDSPバス設定に存在しない
  • プレーヤーに指定したバスへのセンドレベル設定が行われていない
参照
CriAtomExPlayer::SetBusSendLevelOffset
void SetBusSendLevelOffset ( int  busId,
float  levelOffset 
)
inline
非推奨:
削除予定の非推奨APIです。 CriAtomExPlayer.SetBusSendLevelOffset(int busId, float levelOffset)の使用を検討してください。
void AttachAisac ( string  globalAisacName)
inline

プレーヤにAISACを付与

引数
globalAisacName取り付けるグローバルAISAC名
説明:
プレーヤにAISACをアタッチ(付与)します。 AISACをアタッチすることにより、キューやトラックにAISACを設定していなくても、AISACの効果を得ることができます。
本関数でAISACをアタッチ後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 アタッチしたAISACを考慮して、各種パラメータが適用されます。
またアタッチ後、CriWare.CriAtomExPlayer::Update 関数、CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、アタッチしたAISACによる各種パラメータ設定を適用することができます。
備考:
全体設定(ACFファイル)に含まれるグローバルAISACのみ、アタッチ可能です。
AISACの効果を得るには、キューやトラックに設定されているAISACと同様に、 該当するAISACコントロール値を設定する必要があります。
本パラメータは CriWare.CriAtomExPlayer::ResetParameters 関数にてクリアされます。
注意:
キューやトラックに「AISACコントロール値を変更するAISAC」が設定されていたとしても、 その適用結果のAISACコントロール値は、プレーヤにアタッチしたAISACには影響しません。 現在、「オートモジュレーション」や「ランダム」といったコントロールタイプのAISACのアタッチには対応しておりません。
現在、プレーヤにアタッチできるAISACの最大数は、8個固定です。
void DetachAisac ( string  globalAisacName)
inline

プレーヤからAISACを分離

引数
globalAisacName取り外すグローバルAISAC名
説明:
プレーヤからAISACをデタッチ(分離)します。
本関数でAISACをデタッチ後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 デタッチしたAISACの影響は受けなくなります。
またデタッチ後、CriWare.CriAtomExPlayer::Update 関数、CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたAISACによる影響を受けなくなります。
void SetAisacControl ( string  controlName,
float  value 
)
inline

AISACコントロール値の設定(コントロール名指定)

引数
controlNameコントロール名
valueコントロール値(0.0f~1.0f)
説明:
コントロール名指定でAISACのコントロール値を指定します。
AISACのコントロール値は1つのプレイヤーに対して最大8つまで設定可能です。
本関数でAISACコントロール値を設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたAISACコントロール値で再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のAISACコントロール値を更新することができます。

AISACコントロール値の扱いはCriWare.CriAtomExPlayer::SetAisacControl 関数と同様です。
例:
// プレーヤの作成
// AISACコントロール値の設定
float control_value = 0.5f;
player.SetAisacControl("Any", control_value);
// 再生の開始
CriAtomExPlayback playback = player.Start();
// パラメータの変更
// 注意)この時点では再生中の音声のパラメータは変更されない。
control_value = 0.3f;
player.SetAisacControl("Any", control_value);
// プレーヤに設定されたパラメータを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomExPlayer::SetAisacControl(uint, float)
void SetAisac ( string  controlName,
float  value 
)
inline
非推奨:
削除予定の非推奨APIです。 CriWare.CriAtomExPlayer.SetAisacControl の使用を検討してください。
void SetAisacControl ( uint  controlId,
float  value 
)
inline

AISACコントロール値の設定(コントロールID指定)

引数
controlIdコントロールID
valueコントロール値(0.0f~1.0f)
説明:
コントロールID指定でAISACのコントロール値を指定します。
AISACのコントロール値は1つのプレイヤーに対して最大8つまで設定可能です。
本関数でAISACコントロール値を設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたAISACコントロール値で再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のAISACコントロール値を更新することができます。

AISACコントロール値には、0.0f~1.0fの範囲で実数値を指定します。
備考:
AISACのコントロールタイプによって、以下のように挙動が変わります。
  • オフ
    • 本関数等によるAISACコントロール値が未設定の場合はそのAISACは動作しません。
  • オートモジュレーション
    • 本関数の設定値には影響されず、時間経過とともに自動的にAISACコントロール値が変化します。
  • ランダム
    • 本関数等によって設定されたAISACコントロール値を中央値として、 データに設定されたランダム幅でランダマイズし、最終的なAISACコントロール値を決定します。
    • ランダマイズ処理は再生開始時のパラメータ適用でのみ行われ、 再生中の音声に対するAISACコントロール値変更はできません。
    • 再生開始時にAISACコントロール値が設定されていなかった場合、 0.0fを中央値としてランダマイズ処理を行います。
    .
例:
// プレーヤの作成
// AISACコントロール値の設定
CriAtomExAisacControlId control_id = 0;
float control_value = 0.5f;
player.SetAisacControl(control_id, control_value);
// 再生の開始
CriAtomExPlayback playback = player.Start();
// パラメータの変更
// 注意)この時点では再生中の音声のパラメータは変更されない。
control_value = 0.3f;
player.SetAisacControl(control_id, control_value);
// プレーヤに設定されたパラメータを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomExPlayer::SetAisacControl(string, float)
void SetAisac ( uint  controlId,
float  value 
)
inline
非推奨:
削除予定の非推奨APIです。 CriWare.CriAtomExPlayer.SetAisacControl の使用を検討してください。
bool GetAttachedAisacInfo ( int  aisacAttachedIndex,
out CriAtomEx.AisacInfo  aisacInfo 
)
inline

プレーヤにアタッチされているAISAC情報の取得

引数
aisacAttachedIndexアタッチされているAISACのインデックス
aisacInfoAISAC情報取得用構造体
説明:
プレーヤにアタッチされているAISACの情報を取得します。
注意:
無効なインデックスを指定した場合、Falseが返ります。
void Set3dSource ( CriAtomEx3dSource  source)
inline

3D音源オブジェクトの設定

引数
sourceCriAtomEx3dSourceオブジェクト
説明:
3Dポジショニングを実現するための3D音源オブジェクトを設定します。
3Dリスナーオブジェクトと3D音源オブジェクトを設定することで、 3Dリスナーオブジェクトと3D音源オブジェクトの位置関係等から定位や音量、ピッチ等が自動的に適用されます。
本関数で3D音源オブジェクトを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定された3D音源オブジェクトを参照して再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声が参照する3D音源オブジェクトを変更することができます。
sourceにnullを設定した場合は、すでに設定されている3D音源オブジェクトをクリアします。
注意:
3D音源オブジェクトのパラメータの変更、更新は、AtomExプレーヤの関数ではなく、 3D音源オブジェクトの関数を使用して行います。
デフォルトでは、3Dポジショニングの計算は左手座標系で行われます。

例:
// リスナの作成
CriAtomEx3dListener listener = new CriAtomEx3dListener();
// ソースの作成
CriAtomEx3dSource source = new CriAtomEx3dSource();
// プレーヤの作成
// ソース、リスナをプレーヤに設定
player.Set3dListener(listener);
player.Set3dSource(source);
// 音源の位置を初期化
source.SetPosition(0.0f, 0.0f, 0.0f);
source.Update();
// 再生の開始
CriAtomExPlayback playback = player.Start();
// 音源の位置を変更
source.SetPosition(10.0f, 0.0f, 0.0f);
source.Update();
参照
CriAtomEx3dListener, CriAtomExPlayer::Set3dSource, CriAtomExPlayer::Update
void Set3dListener ( CriAtomEx3dListener  listener)
inline

3Dリスナーオブジェクトの設定

引数
listener3Dリスナーオブジェクト
説明:
3Dポジショニングを実現するための3Dリスナーオブジェクトを設定します。
3Dリスナーオブジェクトと3D音源オブジェクトを設定することで、 3Dリスナーと3D音源の位置関係等から定位や音量、ピッチ等が自動的に適用されます。
本関数で3Dリスナーオブジェクトを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定された3Dリスナーオブジェクトを参照して再生されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声が参照する3Dリスナーオブジェクトを変更することができます。
listenerにnullを設定した場合は、すでに設定されている3Dリスナーオブジェクトをクリアします。
注意:
3Dリスナーオブジェクトのパラメータの変更、更新は、AtomExプレーヤの関数ではなく、 3Dリスナーオブジェクトの関数を使用して行います。
デフォルトでは、3Dポジショニングの計算は左手座標系で行われます。

例:
// リスナの作成
CriAtomEx3dListener listener = new CriAtomEx3dListener();
// ソースの作成
CriAtomEx3dSource source = new CriAtomEx3dSource();
// プレーヤの作成
// ソース、リスナをプレーヤに設定
player.Set3dListener(listener);
player.Set3dSource(source);
// 音源の位置を初期化
source.SetPosition(0.0f, 0.0f, 0.0f);
source.Update();
// 再生の開始
CriAtomExPlayback playback = player.Start();
// リスナの位置を変更
listener.SetPosition(-10.0f, 0.0f, 0.0f);
listener.Update();
参照
CriAtomEx3dListener, CriAtomExPlayer::Set3dSource, CriAtomExPlayer::Update
void SetStartTime ( long  startTimeMs)
inline

再生開始位置の指定

引数
startTimeMs再生開始位置(ミリ秒指定)
説明:
AtomExプレーヤで再生する音声について、再生を開始する位置を指定します。
音声データを途中から再生したい場合、再生開始前に本関数で再生開始位置を 指定する必要があります。

再生開始位置の指定はミリ秒単位で行います。
例えば、 start_time_ms に 10000 をセットして本関数を実行すると、 次に再生する音声データは 10 秒目の位置から再生されます。
備考:
音声データ途中からの再生は、音声データ先頭からの再生に比べ、発音開始の タイミングが遅くなります。
これは、一旦音声データのヘッダを解析後、指定位置にジャンプしてからデータを読み 直して再生を開始するためです。
注意:

startTimeMs には64bit値をセット可能ですが、現状、32bit以上の再生時刻を 指定することはできません。

再生開始位置を指定してシーケンスを再生した場合、指定位置よりも前に配置された 波形データは再生されません。
(シーケンス内の個々の波形が途中から再生されることはありません。)

void SetFirstBlockIndex ( int  index)
inline

再生開始ブロックのセット(ブロックインデックス指定)

引数
indexブロックインデックス
説明:
再生開始ブロックインデックスを、AtomExプレーヤに関連付けます。
本関数で再生開始ブロックインデックスを指定後、ブロックシーケンスキューを CriWare.CriAtomExPlayer::Start 関数で再生開始すると指定したブロックから再生を開始します。
備考:
AtomExプレーヤのデフォルトブロックインデックスは 0 です。
CriWare.CriAtomExPlayer::Start 関数による再生開始時にプレーヤに設定されているキューが ブロックシーケンスでない場合は、本関数で設定した値は利用されません。
指定したインデックスに対応したブロックがない場合は先頭ブロックから再生が行われます。
この際、指定インデックスのブロックが存在しない内容のワーニングが発生します。
備考:
再生開始後のブロック遷移は CriWare.CriAtomExPlayback::SetNextBlockIndex 関数を使用して行い、 再生中のブロックインデックス取得は CriWare.CriAtomExPlayback::GetCurrentBlockIndex 関数を使用します。
例:
// プレーヤの作成
// 音声データをセット
player.SetCue(acb, 300);
// 開始ブロックをセット
player.SetFirstBlockIndex(1);
// セットされた音声データを再生
player.Start();
参照
CriAtomExPlayer::Start, CriAtomExPlayback::SetNextBlockIndex, CriAtomExPlayback::GetCurrentBlockIndex
void SetSelectorLabel ( string  selector,
string  label 
)
inline

セレクタ情報の設定

引数
selectorセレクタ名
labelラベル名
説明:
セレクタ名とラベル名を指定して、プレーヤに設定します。1つのプレイヤーに対して最大8つまで設定可能です。
トラックにセレクタラベルが指定されているキューを再生した場合、本関数で指定したセレクタラベル と一致したトラックだけを再生します。
プレーヤに設定したラベル情報の個別削除は CriWare.CriAtomExPlayer::UnsetSelectorLabel を実行してください。
全てのラベル情報の削除は CriWare.CriAtomExPlayer::ClearSelectorLabels を実行してください。
ラベル情報を含む全てのプレーヤ設定値削除は CriWare.CriAtomExPlayer::ResetParameters を実行してください。
参照
CriAtomExPlayer::UnsetSelectorLabel, CriAtomExPlayer::ClearSelectorLabels, CriAtomExPlayer::ResetParameters
void UnsetSelectorLabel ( string  selector)
inline

設定されているセレクタ情報の削除

引数
selectorセレクタ名
説明:
プレーヤに設定されている指定のセレクタ名とそれに紐づくラベル名の情報を削除します。
また削除後、CriWare.CriAtomExPlayer::Update 、CriWare.CriAtomExPlayer::UpdateAll を呼び出すことにより、 すでに再生中の音声に対してセレクタ情報の削除が行えますが、再生中音声が停止することはありません。
参照
CriAtomExPlayer::SetSelectorLabel, CriAtomExPlayer::ClearSelectorLabels
void ClearSelectorLabels ( )
inline

設定されている全てのセレクタ情報の削除

説明:
プレーヤに設定されているセレクタ名、ラベル名情報を全て削除します。
また削除後、CriWare.CriAtomExPlayer::Update 、CriWare.CriAtomExPlayer::UpdateAll を呼び出すことにより、 すでに再生中の音声に対してセレクタ情報の削除が行えますが、再生中音声が停止することはありません。
参照
CriAtomExPlayer::ResetParameters
void SetCategory ( int  categoryId)
inline

カテゴリの設定(ID指定)

引数
categoryIdカテゴリID
説明:
カテゴリID指定でカテゴリを設定します。
設定したカテゴリ情報を削除するには、 CriWare.CriAtomExPlayer::UnsetCategory 関数を使用します。
備考:
キュー再生時に本関数を呼び出すと、データ側に設定されているカテゴリ設定を 上書きします(データ側の設定値は無視されます)。
本関数で設定したカテゴリ情報は、ACFのレジスト、アンレジストを行うとクリアされます。
ACFをレジストしていない状態ではデフォルトカテゴリが使用可能です。
注意:
カテゴリ設定は再生開始前に行ってください。再生中の音声に対してカテゴリ設定の更新を行うと、 カテゴリの再生数カウントが異常になる危険があります。
参照
CriAtomExPlayer::UnsetCategory, CriAtomExPlayer::SetCategory(string)
void SetCategory ( string  categoryName)
inline

カテゴリの設定(カテゴリ名指定)

引数
categoryNameカテゴリ名
説明:
カテゴリ名指定でカテゴリを設定します。
設定したカテゴリ情報を削除するには、 CriWare.CriAtomExPlayer::UnsetCategory 関数を使用します。
備考:
カテゴリ指定を名前で行うことを除き、基本的な仕様は CriWare.CriAtomExPlayer::SetCategory(int) 関数と同様です。
参照
CriAtomExPlayer::UnsetCategory, CriAtomExPlayer::SetCategory(int)
void UnsetCategory ( )
inline

カテゴリの削除

説明:
プレーヤハンドルに設定されているカテゴリ情報を削除します。
参照
CriAtomExPlayer::SetCategory
void SetCuePriority ( int  priority)
inline

キュープライオリティの設定

引数
priorityキュープライオリティ
説明:
AtomExプレーヤにキュープライオリティを設定します。
本関数でキュープライオリティをセット後、 CriWare.CriAtomExPlayer::Start 関数で音声を再生すると、 再生された音声は本関数でセットしたキュープライオリティで発音されます。
関数実行前のデフォルト設定値は0です。
備考:
AtomExプレーヤがキューを再生した際、再生するキューの所属先カテゴリがリミット数 分発音済みの場合、プライオリティによる発音制御が行われます。
具体的には、AtomExプレーヤの再生リクエストが、再生中のキューのプライオリティよりも 高い場合、AtomExプレーヤは再生中のキューを停止し、リクエストによる再生を開始します。
(再生中の音声が停止され、別の音声が再生されます。)
逆に、AtomExプレーヤの再生リクエストが、再生中のキューのプライオリティよりも低い場合、 AtomExプレーヤの再生リクエストが拒否されます。
(リクエストされたキューは再生されません。)
AtomExプレーヤの再生リクエストが、再生中のキューのプライオリティと等しい場合、 AtomExプレーヤは後着優先で発音制御を行います。
参照
CriAtomExPlayer::Start, CriAtomExPlayer::ResetParameters
void SetVoicePriority ( int  priority)
inline

ボイスプライオリティの設定

引数
priorityボイスプライオリティ(-255~255)
説明:
AtomExプレーヤにボイスプライオリティを設定します。
本関数でプライオリティをセット後、 CriWare.CriAtomExPlayer::Start 関数で音声を再生すると、 再生された音声は本関数でセットしたプライオリティで発音されます。
また設定後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出すことにより、 すでに再生された音声のプライオリティを更新することができます。

ボイスプライオリティには、-255~255の範囲で整数値を指定します。
範囲外の値を設定した場合、範囲に収まるようにクリッピングされます。
関数実行前のデフォルト設定値は0です。
備考:
AtomExプレーヤが波形データを再生しようとした際、 当該波形データが所属するボイスリミットグループの発音数が上限に達していた場合や、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。
(指定された波形データを再生するかどうかを、ボイスプライオリティを元に判定します。)

具体的には、再生を行おうとした波形データのプライオリティが、 現在ボイスで再生中の波形データのプライオリティよりも高い場合、 AtomExプレーヤは再生中のボイスを奪い取り、リクエストされた波形データの再生を開始します。
(再生中の音声が停止され、別の音声が再生されます。)

逆に、再生を行おうとした波形データのプライオリティが、 ボイスで再生中の波形データのプライオリティよりも低い場合、 AtomExプレーヤはリクエストされた波形データの再生を行いません。
(リクエストされた音声は再生されず、再生中の音声が引き続き鳴り続けます。)

再生しようとした波形データのプライオリティが、 ボイスで再生中の波形データのプライオリティと等しい場合、 AtomExプレーヤは発音制御方式(先着優先 or 後着優先)に従い、 以下のような制御が行われます。
  • 先着優先時は、再生中の波形データを優先し、リクエストされた波形データを再生しません。
  • 後着優先時は、リクエストされた波形データを優先し、ボイスを奪い取ります。

キュー再生時、データ側にボイスプライオリティが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のプライオリティが255、AtomExプレーヤのプライオリティが45の場合、 実際に適用されるプライオリティは300になります。
本関数で設定可能な値の範囲は-255~255ですが、ライブラリ内部の計算はintの範囲で行われるため、 データ側と加算した結果は-255~255を超える場合があります。
注意:
本関数は、波形データにセットされたボイスプライオリティを制御します。
Atom Craft上でキューに対して設定されたカテゴリキュープライオリティには影響を与えませんので、 ご注意ください。
参照
CriAtomExPlayer::Start, CriAtomExPlayer::Update, CriAtomExPlayer::UpdateAll, CriAtomExPlayer::SetVoiceControlMethod
void SetVoiceControlMethod ( CriAtomEx.VoiceControlMethod  method)
inline

ボイス制御方法の指定

引数
methodボイス制御方法
説明:
AtomExプレーヤにボイス制御方法を設定します。
本関数でボイス制御方法をセット後、 CriWare.CriAtomExPlayer::Start 関数で音声を再生すると、 当該プレーヤで再生する波形データには、本関数で指定した制御方式が適用されます。
関数実行前のデフォルト設定値は後着優先( PreferLast )です。
備考:
AtomExプレーヤが波形データを再生しようとした際、 当該波形データが所属するボイスリミットグループの発音数が上限に達していた場合や、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。

本関数でセットされたボイス制御方式は、発音制御の際、 再生しようとした波形データのプライオリティと、 再生中の波形データのプライオリティが同プライオリティであった場合に考慮されます。
(ボイスプライオリティによる発音制御の詳細は CriWare.CriAtomExPlayer::SetVoicePriority 関数の説明をご参照ください。)
既知の不具合:
現状、本関数でボイス制御方法を指定した場合でも、 キュー再生時にはオーサリングツール上でセットしたボイス制御方法が優先して適用されます。
参照
CriAtomExPlayer::Start, CriAtomExPlayer::SetVoicePriority, CriAtomEx.VoiceControlMethod
void SetPreDelayTime ( float  time)
inline

プリディレイタイムの設定

引数
timeプリディレイタイム(0.0f~2000.0f)
説明:
プリディレイタイムを設定します。
本関数でプリディレイタイムを設定後、CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたプリディレイタイム発音を待ちます。

プリディレイタイムには、0.0f~10000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
プリディレイタイムのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にプリディレイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数の設定値を加算した値が適用されます。
注意:
HCA-MX用にエンコードされた音声データには、プリディレイが適用されません。
エンベロープを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
参照
CriAtomExPlayer::Start
void SetEnvelopeAttackTime ( float  time)
inline

エンベロープのアタックタイムの設定

引数
timeアタックタイム(0.0f~2000.0f)
説明:
エンベロープのアタックタイムを設定します。
本関数でアタックタイムを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたアタックタイムで再生されます。

アタックタイムには、0.0f~2000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
アタックタイムのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にアタックタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。
注意:
再生中に CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数によって更新することはできません。

HCA-MX用にエンコードされた音声データには、エンベロープが適用されません。
エンベロープを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
例:
// プレーヤの作成
// エンベロープの設定
player.SetEnvelopeAttackTime(10.0f);
// 再生の開始
CriAtomExPlayback playback = player.Start();
参照
CriAtomExPlayer::Start
void SetEnvelopeHoldTime ( float  time)
inline

エンベロープのホールドタイムの設定

引数
timeホールドタイム(0.0f~2000.0f)
説明:
エンベロープのホールドタイムを設定します。
本関数でホールドタイムを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたホールドタイムで再生されます。

ホールドタイムには、0.0f~2000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
ホールドタイムのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にホールドタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。
注意:
再生中に CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数によって 更新することはできません。

HCA-MX用にエンコードされた音声データには、エンベロープが適用されません。
エンベロープを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
例:
// プレーヤの作成
// エンベロープの設定
player.SetEnvelopeHoldTime(player, 20.0f);
// 再生の開始
CriAtomExPlayback playback = player.Start();
参照
CriAtomExPlayer::Start
void SetEnvelopeDecayTime ( float  time)
inline

エンベロープのディケイタイムの設定

引数
timeディケイタイム(0.0f~2000.0f)
説明:
エンベロープのディケイタイムを設定します。
本関数でディケイタイムを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたディケイタイムで再生されます。

ディケイタイムには、0.0f~2000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
ディケイタイムのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にディケイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。
注意:
再生中に CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数によって 更新することはできません。

HCA-MX用にエンコードされた音声データには、エンベロープが適用されません。
エンベロープを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
例:
// プレーヤの作成
// エンベロープの設定
player.SetEnvelopeDecayTime(player, 10.0f);
// 再生の開始
CriAtomExPlayback playback = player.Start();
参照
CriAtomExPlayer::Start
void SetEnvelopeReleaseTime ( float  time)
inline

エンベロープのリリースタイムの設定

引数
timeリリースタイム(0.0f~10000.0f)
説明:
エンベロープのリリースタイムを設定します。
本関数でリリースタイムを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたリリースタイムで再生されます。

リリースタイムには、0.0f~10000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
リリースタイムのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にリリースタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。
注意:
再生中に CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数によって 更新することはできません。

HCA-MX用にエンコードされた音声データには、エンベロープが適用されません。
エンベロープを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
例:
// プレーヤの作成
// エンベロープの設定
player.SetEnvelopeReleaseTime(player, 3000.0f);
// 再生の開始
CriAtomExPlayback playback = player.Start();
参照
CriAtomExPlayer::Start
void SetEnvelopeSustainLevel ( float  level)
inline

エンベロープのサスティンレベルの設定

引数
levelサスティンレベル(0.0f~2000.0f)
説明:
エンベロープのサスティンレベルを設定します。
本関数でサスティンレベルを設定後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、 設定されたサスティンレベルで再生されます。

サスティンレベルには、0.0f~1.0fの範囲で実数値を指定します。
サスティンレベルのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にサスティンレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。
注意:
再生中に CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数によって 更新することはできません。

HCA-MX用にエンコードされた音声データには、エンベロープが適用されません。
エンベロープを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。
例:
// プレーヤの作成
// エンベロープの設定
player.SetEnvelopeSustainLevel(0.5f);
// 再生の開始
CriAtomExPlayback playback = player.Start();
参照
CriAtomExPlayer::Start
void AttachFader ( )
inline

プレーヤにフェーダを取り付ける

説明:
プレーヤにフェーダをアタッチ(取り付け)し、 CriAtomExPlayerをクロスフェード専用のプレーヤに変化させます。
(複数音の同時再生等、従来のCriAtomExPlayerの持つ機能が一部利用できなくなります。)

本関数でフェーダをアタッチしたプレーヤは、以降音声再生開始毎 ( CriWare.CriAtomExPlayer::Start 関数や CriWare.CriAtomExPlayer::Prepare 実行を実行する毎)に、 以下の制御を行います。
  • 既にフェードアウト中の音があれば強制停止。
  • 現在再生中(またはフェードイン中)の音声をフェードアウト。
  • 新規に再生を開始する音声をフェードイン。

また、再生停止時( CriWare.CriAtomExPlayer::Stop 関数実行時)には、 以下の制御を行います。
  • 既にフェードアウト中の音があれば強制停止。
  • 現在再生中(またはフェードイン中)の音声をフェードアウト。
備考:
フェーダをアタッチするプレーヤが音声再生中の場合、本関数を実行したタイミングで プレーヤが再生中の音声は全て停止されます。

フェーダは、アタッチ中のプレーヤに対して CriWare.CriAtomExPlayer::Start 関数や、 CriWare.CriAtomExPlayer::Stop 関数が実行される度、 当該プレーヤで再生中の音声に対して以下の制御を行います。

  1. 既にフェードアウト中の音声が存在する場合、その音声を即座に停止する。
  2. フェードイン中の音声(または再生中の音声)が存在する場合、 その音声をその時点の音量から CriWare.CriAtomExPlayer::SetFadeOutTime 関数で指定された時間をかけてフェードアウトさせる。
  3. CriWare.CriAtomExPlayer::Start 関数が実行された場合、 プレーヤにセットされている音声データをボリューム0で再生開始し、 CriWare.CriAtomExPlayer::SetFadeInTime 関数で指定された時間をかけてフェードインさせる。

CriWare.CriAtomExPlayer::Start 関数の代わりに CriWare.CriAtomExPlayer::Prepare 関数を使用した場合、ポーズを解除する時点で上記の制御が行われます。)
注意:
本関数を実行すると、CriAtomExPlayerに対する再生/停止操作が大きく変更されます。
(フェーダアタッチ前後で挙動が大きく変わります。)
具体的には、同時に発音可能な音声の数が1音(クロスフェード中のみ2音)に限定され、 CriWare.CriAtomExPlayback を用いた制御も行えなくなります。

本関数は、クロスフェード処理を行いたい場合にのみ必要となります。
1音だけのフェードイン/アウトについては、エンベロープやTweenをご利用ください。

フェーダの動作仕様の都合上、フェードイン/アウトの処理対象となるのは、 過去2回の音声再生のみです。
それ以前に再生された音声は、 CriWare.CriAtomExPlayer::Start 関数や CriWare.CriAtomExPlayer::Stop 関数が実行された時点で強制的に停止されます。
強制停止処理のタイミングで意図しないノイズが発生する恐れがありますので、 同時再生数が3音以上にならないよう注意してください。

フェードイン/アウトが機能するのは『AtomExプレーヤに対する操作』のみです。
CriWare.CriAtomExPlayer::Start 関数実行時に取得した再生IDに対し、 CriWare.CriAtomExPlayback::Stop を実行しても、フェードアウトは行われません。
(フェーダの設定が無視され、即座に停止処理が行われます。)
参照
CriAtomExPlayer::DetachFader
void DetachFader ( )
inline

プレーヤからフェーダを取り外す

説明:
プレーヤからフェーダをデタッチ(取り外し)します。
本関数でフェーダをデタッチしたプレーヤには、以降フェードイン/アウトの処理が行われなくなります。
備考:
フェーダをデタッチするプレーヤが音声再生中の場合、本関数を実行したタイミングで プレーヤが再生中の音声は全て停止されます。
参照
CriAtomExPlayer::AttachFader
void SetFadeOutTime ( int  ms)
inline

フェードアウト時間の設定

引数
msフェードアウト時間(ミリ秒指定)
説明:
フェーダをアタッチ済みのプレーヤに対し、フェードアウト時間を指定します。
次回音声再生時( CriWare.CriAtomExPlayer::Start 関数実行時)には、本関数で設定された 時間で再生中の音声がフェードアウトします。

フェードアウト時間のデフォルト値は 500 ミリ秒です。
備考:
フェードアウト時間が設定されている場合、CriAtomExPlayer は以下の順序で再生を停止します。

  1. 指定された時間で音声のボリュームを 0 まで落とす。
  2. ボリュームが 0 の状態でディレイ時間が経過するまで再生を続ける。
  3. ディレイ時間経過後に再生を停止する。

フェードアウト時のボリュームコントロールは、音声再生停止前に行われます。
そのため、波形データにあらかじめ設定されたエンベロープのリリース時間は無視されます。
(厳密には、ボリュームが 0 になってからエンベロープのリリース処理が適用されます。)

第2引数( ms )に 0 を指定する場合と、 -1 を指定する場合とでは、以下のように挙動が異なります。

  • 0 指定時:即座にボリュームが 0 に落とされ、停止処理が行われる。
  • -1 指定時:ボリューム変更は行われず、停止処理が行われる。

再生停止時にフェードアウト処理を行わず、波形にあらかじめ設定されている エンベロープのリリース処理を有効にしたい場合、第2引数( ms )に、 -1 を指定してください。
-1 を指定することで、フェードアウト処理によるボリューム制御が行われなくなるため、 CriWare.CriAtomExPlayer::Stop 関数実行後、ディレイ時間経過後に通常の停止処理が行われます。
(波形データにエンベロープのリリースが設定されている場合、リリース処理が行われます。)
注意:
本関数を実行する前に、 CriWare.CriAtomExPlayer::AttachFader 関数を使用して あらかじめプレーヤにフェーダをアタッチしておく必要があります。

本関数で設定した値は、既に再生中の音声には一切影響しません。
本関数で設定したフェード時間は、本関数実行後に CriWare.CriAtomExPlayer::Start 関数や CriWare.CriAtomExPlayer::Stop 関数を実行するタイミングで適用されます。
(既にフェードアウトを開始している音声に対しては、 本関数で後からフェードアウト時間を変更することはできません。)
参照
CriAtomExPlayer::AttachFader, CriAtomExPlayer::SetFadeInTime
void SetFadeInTime ( int  ms)
inline

フェードイン時間の設定

引数
msフェードイン時間(ミリ秒指定)
説明:
フェーダをアタッチ済みのプレーヤに対し、フェードイン時間を指定します。
次回音声再生時( CriWare.CriAtomExPlayer::Start 関数実行時)には、本関数で設定された 時間で新規に音声がフェードイン再生されます。

フェードイン時間のデフォルト値は 0 秒です。
そのため、本関数を使用しない場合フェードインは行われず、即座にフルボリューム で音声の再生が開始されます。
注意:
本関数を実行する前に、 CriWare.CriAtomExPlayer::AttachFader 関数を使用して あらかじめプレーヤにフェーダをアタッチしておく必要があります。

本関数で設定した値は、既に再生中の音声には一切影響しません。
本関数で設定したフェード時間は、本関数実行後に CriWare.CriAtomExPlayer::Start 関数を 実行するタイミングで適用されます。
(既にフェードインを開始している音声に対しては、 本関数で後からフェードイン時間を変更することはできません。)
参照
CriAtomExPlayer::AttachFader, CriAtomExPlayer::SetFadeInTime
void SetFadeInStartOffset ( int  ms)
inline

フェードイン開始オフセットの設定

引数
msフェードイン開始オフセット(ミリ秒指定)
説明:
フェーダをアタッチ済みのプレーヤに対し、フェードイン開始オフセットを指定します。
本関数を使用することで、フェードインを開始するタイミングをフェードアウトに対して 任意の時間早めたり、遅らせることが可能です。
例えば、フェードアウト時間を5秒、フェードイン開始オフセットを5秒に設定した場合、 フェードアウトが5秒で完了した直後に次の音声をフェードインさせることが可能です。
逆に、フェードイン時間を5秒、フェードイン開始オフセットを-5秒に設定した場合、 フェードインが5秒で完了した直後に再生中の音のフェードアウトを開始させることが可能です。

フェードイン開始オフセットのデフォルト値は 0 秒です。
(フェードインとフェードアウトが同時に開始されます。)
備考:
フェードイン開始のタイミングは、フェードインする音声の再生準備が整ったタイミングです。
そのため、フェードイン開始オフセットが 0 秒に設定されている場合でも、フェードイン音声 のバッファリングに時間がかかる場合(ストリーム再生時等)には、フェードアウトの開始までに しばらく時間がかかります。
(本パラメータは、フェードインとフェードアウトのタイミングを調整するための相対値です。)
注意:
本関数を実行する前に、 CriWare.CriAtomExPlayer::AttachFader 関数を使用して あらかじめプレーヤにフェーダをアタッチしておく必要があります。

本関数で設定した値は、既に再生中の音声には一切影響しません。
本関数で設定したフェード時間は、本関数実行後に CriWare.CriAtomExPlayer::Start 関数や CriWare.CriAtomExPlayer::Stop 関数を実行するタイミングで適用されます。
(既にフェード処理を開始している音声に対しては、 本関数で後からフェード処理のタイミングを変更することはできません。)
参照
CriAtomExPlayer::AttachFader, CriAtomExPlayer::SetFadeInTime
void SetFadeOutEndDelay ( int  ms)
inline

フェードアウト後のディレイ時間の設定

引数
msフェードアウト後のディレイ時間(ミリ秒指定)
説明:
フェードアウト完了後、ボイスを破棄するまでのディレイ時間を設定します。
本関数を使用することで、フェードアウトを終えたボイスが破棄されるまでのタイミングを任意に設定可能です。

ディレイ時間のデフォルト値は 500 ミリ秒です。
(フェードアウト音を再生するボイスは、ボリュームが 0 に設定された後、 500 ミリ秒後に破棄されます。)
備考:
音声のフェードアウトが完了する前にボイスが停止されるプラットフォーム以外は、 本関数を使用する必要はありません。
注意:
本関数を実行する前に、 CriWare.CriAtomExPlayer::AttachFader 関数を使用して あらかじめプレーヤにフェーダをアタッチしておく必要があります。

本関数で設定した値は、既に再生中の音声には一切影響しません。
本関数で設定したフェード時間は、本関数実行後に CriWare.CriAtomExPlayer::Start 関数や CriWare.CriAtomExPlayer::Stop 関数を実行するタイミングで適用されます。
(既にフェードアウトを開始している音声に対しては、 本関数で後からフェードアウト後のディレイ時間を変更することはできません。)

ボリュームの制御とボイスの停止が反映されるタイミングは、プラットフォームによって異なります。
そのため、本関数に 0 を指定した場合、プラットフォームによってはボリュームの変更が反映される 前にボイスが停止される恐れがあります。
参照
CriAtomExPlayer::AttachFader
bool IsFading ( )
inline

フェード処理中かどうかを取得

戻り値
フェード処理中かどうか
説明:
フェード処理が行われている最中かどうかを取得します。
備考:
本関数は、以下の処理期間中 True を返します。
  • クロスフェード開始のための同期待ち中。
  • フェードイン/フェードアウト処理中(ボリューム変更中)。
  • フェードアウト完了後のディレイ期間中。
void ResetFaderParameters ( )
inline

フェーダパラメータの初期化

説明:
フェーダに設定されている各種パラメータをクリアし、初期値に戻します。
注意:
本関数を実行する前に、 CriAtomExPlayer::AttachFader 関数を使用して あらかじめプレーヤにフェーダをアタッチしておく必要があります。

本関数でフェーダパラメータをクリアしても、既に再生中の音声には一切影響しません。
本関数でクリアしたフェーダパラメータは、本関数実行後に CriAtomExPlayer::Start 関数や CriAtomExPlayer::Stop 関数を実行するタイミングで適用されます。
(既にフェード処理を開始している音声に対しては、 本関数でクリアしたフェーダパラメータを適用することはできません。)
void SetGroupNumber ( int  group_no)
inline

グループ番号の指定

説明:
発音時にボイスをどのボイスリミットグループから取得するかを指定します。

group_no に -1 を指定した場合、プレーヤはボイスリミットグループによる制限を受けなくなります。
(空きボイスがあるか、または自身より低プライオリティのボイスがあれば、
ボイスリミットグループに関係なくボイスを取得します。)
注意:
再生を開始し、指定したボイスリミットグループのボイスが全て使用中だった場合、 再生した音声が発音されるかどうかは、ボイスプライオリティ制御によって決まります。
(ボイスプライオリティによる発音制御の詳細は CriWare.CriAtomExPlayer::SetVoicePriority 関数の説明をご参照ください。)

キュー再生時に本関数を呼び出すと、データ側に設定されているボイスリミットグループ設定を
上書きします(データ側の設定値は無視されます)。
ただし、group_no に -1 を指定した場合はデータ側に設定されているボイスリミットグループを参照します。

void Update ( CriAtomExPlayback  playback)
inline

再生パラメータの更新(CriAtomExPlaybackオブジェクト単位)

引数
playbackCriAtomExPlaybackオブジェクト
説明:
AtomExプレーヤに設定されている再生パラメータ(AISACコントロール値を含む)を使用して、 CriAtomExPlaybackオブジェクトのパラメータを更新します。
注意:
パラメータ更新に仕様するCriAtomExPlayerオブジェクトは、 CriAtomExPlaybackオブジェクトを生成したプレーヤでなければなりません。
例:
// プレーヤの作成
// 再生の開始
CriAtomExPlayback playback = player.Start();
// ボリュームの変更
// 注意)この時点では再生中の音声のパラメータは変更されない。
player.SetVolume(volume);
// プレーヤに設定されたパラメータを再生中の音声にも反映
player.Update(playback);
参照
CriAtomExPlayer::UpdateAll
void UpdateAll ( )
inline

再生パラメータの更新(再生中の音全て)

説明:
AtomExプレーヤに設定されている再生パラメータ(AISACコントロール値を含む)を使用して、 このAtomExプレーヤで再生中の音全ての再生パラメータを更新します。
例:

: // プレーヤの作成 CriAtomExPlayer player = new CriAtomExPlayer(); : // 再生の開始 CriAtomExPlayback playback = player.Start(); : // ボリュームの変更 // 注意)この時点では再生中の音声のパラメータは変更されない。 player.SetVolume(volume);

// プレーヤに設定されたパラメータを再生中の全ての音声に反映 player.UpdateAll(); :

参照
CriAtomExPlayer::Update
void ResetParameters ( )
inline

再生パラメータの初期化

説明:
AtomExプレーヤに設定されている再生パラメータ(AISACコントロール値を含む)をリセットし、 初期状態(未設定状態)に戻します。
本関数呼び出し後、 CriWare.CriAtomExPlayer::Start 関数により再生開始すると、初期状態の再生パラメータで再生されます。
備考:
本関数呼び出し後、 CriWare.CriAtomExPlayer::Update 関数、 CriWare.CriAtomExPlayer::UpdateAll 関数を呼び出したとしても、 すでに再生されている音声のパラメータは初期値には戻りません。
すでに再生されている音声のパラメータを変える場合は、 明示的に CriWare.CriAtomExPlayer::SetVolume 関数等を呼び出してください。

本関数でリセットされるパラメータは、以下のパラメータです。
なお、本関数では3D音源ハンドルや3Dリスナーハンドル自体のもつパラメータ(位置等)はリセットされません。 「AtomExプレーヤに設定されているハンドルが何か」という設定だけがリセットされます。 これらのハンドル自体のパラメータをリセットしたい場合には、 それぞれのハンドルのパラメータリセット関数を呼び出してください。
例:

: // プレーヤの作成 CriAtomExPlayer player = new CriAtomExPlayer(); : // ボリュームの変更 player.SetVolume(0.5f);

// 音声を再生 // 備考)ここで再生された音声は0.5fのボリュームで出力される。 CriAtomExPlayback playback1 = player.Start();

// プレーヤに設定されたパラメータをリセット // 備考)プレーヤのボリューム設定がデフォルト値(1.0f)に戻される。 player.ResetParameters();

// 別の音を再生 // 備考)ここで再生された音声は1.0fのボリュームで出力される。 CriAtomExPlayback playback2 = player.Start(); :

参照
CriAtomEx3dSource::ResetParameters, CriAtomEx3dListener::ResetParameters
long GetTime ( )
inline

再生時刻の取得

戻り値
再生時刻(ミリ秒単位)
説明:
AtomExプレーヤで最後に再生した音声の、再生時刻を取得します。

再生時刻が取得できた場合、本関数は 0 以上の値を返します。
再生時刻が取得できない場合(ボイスの取得に失敗した場合等)、本関数は負値を返します。
備考:
同一プレーヤで複数の音声を再生し、本関数を実行した場合、本関数は "最後に"再生した音声の時刻を返します。
複数の音声に対して再生時刻をチェックする必要がある場合には、 再生する音声の数分だけプレーヤを作成するか、または CriWare.CriAtomExPlayback::GetTime 関数をご利用ください。

本関数が返す再生時刻は「再生開始後からの経過時間」です。
ループ再生時や、シームレス連結再生時を行った場合でも、 再生位置に応じて時刻が巻き戻ることはありません。

CriWare.CriAtomExPlayer::Pause 関数でポーズをかけた場合、 再生時刻のカウントアップも停止します。
(ポーズを解除すれば再度カウントアップが再開されます。)
本関数で取得可能な時刻の精度は、サーバ処理の周波数に依存します。
(時刻の更新はサーバ処理単位で行われます。)
より精度の高い時刻を取得する必要がある場合には、本関数の代わりに CriWare.CriAtomExPlayback::GetNumPlayedSamples 関数を使用し、 再生済みサンプル数を取得してください。
注意:
戻り値の型はlongですが、現状、32bit以上の精度はありません。
再生時刻を元に制御を行う場合、約24日で再生時刻が異常になる点に注意が必要です。
( 2147483647 ミリ秒を超えた時点で、再生時刻がオーバーフローし、負値になります。)

再生中の音声が発音数制御によって消去された場合、 再生時刻のカウントアップもその時点で停止します。
また、再生開始時点で発音数制御によりボイスが割り当てられなかった場合、 本関数は正しい時刻を返しません。
(負値が返ります。)

ドライブでリードリトライ処理等が発生し、一時的に音声データの供給が途切れた場合でも、 再生時刻のカウントアップが途切れることはありません。
(データ供給停止により再生が停止した場合でも、時刻は進み続けます。)
そのため、本関数で取得した時刻を元に映像との同期を行った場合、 リードリトライ発生毎に同期が大きくズレる可能性があります。
波形データと映像の同期を厳密に取る必要がある場合は、本関数の代わりに CriWare.CriAtomExPlayback::GetNumPlayedSamples 関数を使用し、 再生済みサンプル数との同期を取ってください。
参照
CriAtomExPlayback::GetTime, CriAtomExPlayback::GetNumPlayedSamples
Status GetStatus ( )
inline

ステータスの取得

戻り値
ステータス
説明:
AtomExプレーヤのステータスを取得します。
ステータスはAtomExプレーヤの再生状態を示す CriWare.CriAtomExPlayer::Status 型の値で、 以下の5通りの値が存在します。
  1. Stop
  2. Prep
  3. Playing
  4. PlayEnd
  5. Error
AtomExプレーヤを作成した時点では、AtomExプレーヤのステータスは停止状態( Stop )です。
再生する音声データをセット後、 CriWare.CriAtomExPlayer::Start 関数を実行することで、 AtomExプレーヤのステータスが準備状態( Prep )に変更されます。
( Prep は、データ供給やデコードの開始を待っている状態です。)
再生の開始に充分なデータが供給された時点で、AtomExプレーヤはステータスを 再生状態( Playing )に変更し、音声の出力を開始します。
セットされたデータを全て再生し終えると、AtomExプレーヤはステータスを再生終了状態 ( PlayEnd )に変更します。
尚、再生中にエラーが発生した場合には、AtomExプレーヤはステータスをエラー状態 ( Error )に変更します。

AtomExプレーヤのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
例えば、音声の再生完了を待って処理を進めたい場合には、以下のようなコードになります。
// プレーヤの作成
// 音声データをセット
player.SetCue(acb, cueId);
// セットされた音声データを再生
player.Start();
// 再生完了待ち
while (player.GetStatus() != CriAtomExPlayer.Status.PlayEnd) {
yield return null;
}
:
参照
CriAtomExPlayer::Start
float GetParameterFloat32 ( CriAtomEx.Parameter  id)
inline

パラメータの取得(浮動小数点数)

引数
idパラメータID
戻り値
パラメータ設定値
説明:
AtomExプレーヤに設定されている各種パラメータの値を取得します。
値は浮動小数点数で取得されます。
参照
CriAtomEx.Parameter, CriAtomExPlayer::GetParameterUint32, CriAtomExPlayer::GetParameterSint32
uint GetParameterUint32 ( CriAtomEx.Parameter  id)
inline

パラメータの取得(符号なし整数)

引数
idパラメータID
戻り値
パラメータ設定値
説明:
AtomExプレーヤに設定されている各種パラメータの値を取得します。
値は符号なし整数で取得されます。
参照
CriAtomEx.Parameter, CriAtomExPlayer::GetParameterFloat32, CriAtomExPlayer::GetParameterSint32
int GetParameterSint32 ( CriAtomEx.Parameter  id)
inline

パラメータの取得(符号付き整数)

引数
idパラメータID
戻り値
パラメータ設定値
説明:
AtomExプレーヤに設定されている各種パラメータの値を取得します。
値は符号付き整数で取得されます。
参照
CriAtomEx.Parameter, CriAtomExPlayer::GetParameterFloat32, CriAtomExPlayer::GetParameterUint32
void SetSoundRendererType ( CriAtomEx.SoundRendererType  type)
inline

出力サウンドレンダラタイプの設定

引数
type出力先のサウンドレンダラタイプ
説明:
AtomExプレーヤの再生に使用するサウンドレンダラの種別を設定します。
本設定を行ってから再生を開始すると、設定されたサウンドレンダラタイプで作成されたボイス プールから再生可能なボイスを取得します。
サウンドレンダラタイプの設定はキューの再生単位で設定可能です。
参照
CriAtomEx.SoundRendererType
void SetRandomSeed ( uint  seed)
inline

乱数種の設定

引数
seed乱数種
説明:
AtomExプレーヤが保持する疑似乱数生成器に乱数種を設定します。
乱数種を設定することにより、各種ランダム再生処理に再現性を持たせることができます。

参照
CriAtomEx.SetRandomSeed
void Loop ( bool  sw)
inline

ループ再生の切り替え

引数
swループスイッチ(True: ループモード、False: ループモード解除)
説明:
ループポイントを持たない波形データに対し、ループ再生のON/OFFを切り替えます。
デフォルトはループOFFです。
ループ再生をONにした場合は、音声終端まで再生しても再生は終了せず先頭に戻って再生を繰り返します。
注意:
本関数の設定は波形データに対して適用されます。
シーケンスデータに対して本関数を実行した場合、 シーケンスデータ内の個々の波形データがループ再生される形になります。

本関数による指定は、ループポイントを持たない波形データに対してのみ有効です。
ループポイントを持つ波形データを再生する場合、本関数の指定に関係なく、 波形データのループ位置に従ってループ再生が行われます。

本関数は内部的にシームレス連結再生機能を使用します。
そのため、シームレス連結再生に未対応のフォーマット(HCA-MX等)を使用した場合、 ループ位置にある程度の無音が入る形になります。

ループスイッチの変更は、再生開始前にのみ可能です。
再生中のプレーヤに対してループスイッチを変更することはできません。
void SetAsrRackId ( int  asr_rack_id)
inline

ASRラックIDの指定

引数
asr_rack_idASRラックID
説明:
ボイスの出力先ASRラックIDを指定します。
注意:
本関数は ボイスのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。
(他のボイスを使用する場合、本関数の設定値は無視されます。)

ASRラックIDは再生開始前に設定する必要があります。
既に再生が開始された音声に対し、後からASRラックIDを変更することはできません。

HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
void SetVoicePoolIdentifier ( uint  identifier)
inline

ボイスプール識別子の設定

引数
identifierボイスプール識別子
説明:
発音時にボイスをどのボイスプールから取得するかを指定します。
本関数を実行すると、プレーヤは以降指定されたボイスプール識別子に一致するボイスプールからのみ ボイスを取得します。
参照
CriAtomExStandardVoicePool, CriAtomExWaveVoicePool
void SetDspTimeStretchRatio ( float  ratio)
inline

DSPタイムストレッチ比率の設定

引数
ratioストレッチ比率
説明:
DSPタイムストレッチの再生時間の倍率を設定します。
元データの再生時刻に ratio を掛けた値がストレッチ結果の再生時間となります。
設定可能な値の範囲は 0.5f ~ 2.0f までです。
注意:
設定する値は再生速度ではなく「再生時間」に対する倍率です。
ストレッチの割合を再生速度で指定する場合、再生速度の倍率の逆数を設定してください。
参照
CriAtomExVoicePool.AttachDspTimeStretch, CriAtomExPlayer.SetVoicePoolIdentifier
void SetDspPitchShifterPitch ( float  pitch)
inline

DSPピッチシフタのピッチシフト量の設定

引数
pitchピッチシフト量
説明:
DSPピッチシフタのピッチシフト量を設定します。
単位はセントです。
設定可能な値の範囲は -2400 ~ 2400 までです。
原音と比べて 1200 で 2倍、-1200 で 1/2倍 のピッチシフトになります。
参照
CriAtomExVoicePool.AttachDspPitchShifter, CriAtomExPlayer.SetVoicePoolIdentifier
void SetDspParameter ( int  id,
float  value 
)
inline

DSPパラメータの設定

引数
idパラメータID
valueパラメータ値
説明:
ボイスにアタッチしているDSPのパラメータを設定します。
参照
CriAtomExVoicePool.AttachDspTimeStretch, CriAtomExVoicePool.AttachDspPitchShifter, SetVoicePoolIdentifier
void AttachTween ( CriAtomExTween  tween)
inline

AtomExTweenの取り付け

説明:
プレイヤーにAtomExTweenを取り付けることで簡単なパラメータアニメーションが可能です。
アタッチ前に再生が始まっていた音声に対してAtomExTweenのアニメーションを適用する場合は、
CriAtomExPlayer.Update または CriAtomExPlayer.UpdateAll を呼ぶ必要があります。
引数
tweenAtomExTweenオブジェクト
参照
CriAtomExTween
void DetachTween ( CriAtomExTween  tween)
inline

AtomExTweenの取り外し

引数
tweenAtomExTweenオブジェクト
参照
CriAtomExTween
void DetachTweenAll ( )
inline

全てのAtomExTweenの取り外し

参照
CriAtomExTween
void SetEnvelopeAttackCurve ( CriAtomEx.CurveType  curveType,
float  strength 
)
inline

エンベロープのアタックカーブの設定

引数
curveTypeカーブタイプ
strengthカーブの強さ
説明:
エンベロープのアタックカーブを設定します。
カーブを設定されたプレイヤーでは、設定されたアタックカーブで再生されるようになります。

カーブタイプは CriAtomEx.CurveType に定義しているものを指定します。
カーブタイプのデフォルトは LINEAR です。

カーブの強さは 0.0f~2.0f の範囲で実数値を設定します。
カーブの強さのデフォルトは 1.0f です。

再生中に CriAtomExPlayer.UpdateCriAtomExPlayer.UpdateAll によって更新することはできません。

キュー再生時、データ側にアタックカーブが設定されている場合に本関数を呼び出すと、
データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは CriAtomExPlayer.ResetParameters にてクリアされます。
void SetEnvelopeDecayCurve ( CriAtomEx.CurveType  curveType,
float  strength 
)
inline

エンベロープのディケイカーブの設定

引数
curveTypeカーブタイプ
strengthカーブの強さ
説明:
エンベロープのディケイカーブを設定します。
カーブを設定されたプレイヤーでは、設定されたディケイカーブで再生されるようになります。

カーブタイプは CriAtomEx.CurveType に定義しているものを指定します。
カーブタイプのデフォルトは LINEAR です。

カーブの強さは 0.0f~2.0f の範囲で実数値を設定します。
カーブの強さのデフォルトは 1.0f です。

再生中に CriAtomExPlayer.UpdateCriAtomExPlayer.UpdateAll によって更新することはできません。

キュー再生時、データ側にディケイカーブが設定されている場合に本関数を呼び出すと、
データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは CriAtomExPlayer.ResetParameters にてクリアされます。
void SetEnvelopeReleaseCurve ( CriAtomEx.CurveType  curveType,
float  strength 
)
inline

エンベロープのリリースカーブの設定

引数
curveTypeカーブタイプ
strengthカーブの強さ
説明:
エンベロープのリリースカーブを設定します。
カーブを設定されたプレイヤーでは、設定されたリリースカーブで再生されるようになります。

カーブタイプは CriAtomEx.CurveType に定義しているものを指定します。
カーブタイプのデフォルトは LINEAR です。

カーブの強さは 0.0f~2.0f の範囲で実数値を設定します。
カーブの強さのデフォルトは 1.0f です。

再生中に CriAtomExPlayer.UpdateCriAtomExPlayer.UpdateAll によって更新することはできません。

キュー再生時、データ側にリリースカーブが設定されている場合に本関数を呼び出すと、
データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは CriAtomExPlayer.ResetParameters にてクリアされます。
void AddOutputPort ( CriAtomExOutputPort  outputPort)
inline

出力ポートオブジェクトの追加

引数
outputPort出力ポートオブジェクト
説明:
プレーヤーに出力ポートを追加します。
出力ポートオブジェクトは CriWare.CriAtomExPlayer.MaxOutputPorts 数分だけ指定できます。
備考:
本パラメーターは以下のAPIでクリアされます。
また、CriWare.CriAtomExPlayer.RemoveOutputPort で特定の出力ポートのみ取り外すことも可能です。

キュー再生時に本関数を呼び出すと、以下の設定は全て無視されます。
  • データ側に設定されているパラメーターパレットのASRラックID設定
  • CriWare.CriAtomExPlayer.SetAsrRackId で指定したASRラックID
  • データ側に設定されているトラックの出力ポート名
無視された後、キューは全て追加した出力ポートを通して再生されます。

出力ポートは再生開始前に設定する必要があります。
既に再生が開始された音声に対し、後から出力ポートを変更することはできません。

複数の出力ポートが指定されたプレーヤーを再生した場合、ボイスはその指定された出力ポートの数だけ使用されます。
そのため、事前に指定する出力ポート数分のボイスを確保しておく必要があります。

キュー再生以外の再生時( CriWare.CriAtomExPlayer.SetData など)には
本関数にて指定した複数の出力ポートの内、1つ目に設定した出力ポートのみが適用されます。

HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
HCA-MX用にエンコードされた音声データについて出力先設定する場合、
CriWare.CriAtomExHcaMx.SetAsrRackId を使用して、HCA-MXミキサー自体の出力先ASRラックIDを設定してください。
注意:
本関数は ボイスのサウンドレンダラタイプがASRのときのみ効果があります。
(他のボイスを使用する場合、本関数の設定値は無視されます。)
参照
CriWare.CriAtomExOutputPort.CriAtomExOutputPort, CriWare.CriAtomExPlayer.RemoveOutputPort, CriWare.CriAtomExPlayer.ClearOutputPorts
void RemoveOutputPort ( CriAtomExOutputPort  outputPort)
inline

出力ポートオブジェクトの取り外し

引数
outputPort出力ポートオブジェクト
説明:
プレーヤーに追加した出力ポートを取り外します。
備考:
プレーヤーに CriWare.CriAtomExPlayer.RemoveOutputPort で追加した特定の出力ポートオブジェクトを取り外します。
プレーヤーに設定されている出力ポートを全てを取り外すには CriWare.CriAtomExPlayer.ClearOutputPorts を使用してください。
注意:
既に再生が開始された音声に対し、後から出力ポートを変更することはできません。
参照
CriWare.CriAtomExOutputPort.CriAtomExOutputPort, CriWare.CriAtomExPlayer.AddOutputPort, CriWare.CriAtomExPlayer.ClearOutputPorts
void ClearOutputPorts ( )
inline

出力ポートオブジェクトのクリア

説明:
プレーヤーに追加した出力ポートを全てクリアします。
備考:
プレーヤーに CriWare.CriAtomExPlayer.AddOutputPort で追加した特定の出力ポートオブジェクトを全てクリアします。
特定の出力ポートだけ取り外すためには CriWare.CriAtomExPlayer.RemoveOutputPort を使用してください。
注意:
既に再生が開始された音声に対し、後から出力ポートを変更することはできません。
参照
CriWare.CriAtomExOutputPort.CriAtomExOutputPort, CriWare.CriAtomExPlayer.AddOutputPort, CriWare.CriAtomExPlayer.RemoveOutputPort
void AddPreferredOutputPort ( CriAtomExOutputPort  outputPort)
inline

優先出力ポートオブジェクトの追加

引数
outputPort出力ポートオブジェクト
説明:
プレーヤーにACF内の出力ポートより優先的に参照される出力ポートを追加します。
出力ポートオブジェクトは CriWare.CriAtomExPlayer.MaxOutputPorts 数分だけ指定できます。
備考:
本パラメーターは以下のAPIでクリアされます。
また、CriWare.CriAtomExPlayer.RemovePreferredOutputPort で特定の出力ポートのみ取り外すことも可能です。

規定動作では、出力ポート名が設定されているトラックを持つキューを再生すると
ACF登録時に自動生成された出力ポートから出力されます。
本関数でプレーヤーに対して優先出力ポートを追加すると
データ側で設定された出力ポートではなく、優先出力ポートから出力するように変更できます。
注意:
データ側に出力ポート名が設定されていないトラックの再生には影響しません。

出力ポートは再生開始前に設定する必要があります。
既に再生が開始された音声に対し、後から出力ポートを変更することはできません。

一つのプレーヤーに対し、同じ名前の優先出力ポートを登録することはできません。

キュー再生以外の再生時( CriWare.CriAtomExPlayer.SetData など)には
本関数にて指定した複数の出力ポートの内、1つ目に設定した出力ポートのみが適用されます。

CriWare.CriAtomExPlayer.SetAsrRackId 実行後に本関数を実行すると、
CriWare.CriAtomExPlayer.SetAsrRackId にて設定したASRラックID設定は上書きされます。

HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
参照
CriWare.CriAtomExPlayer.RemovePreferredOutputPort, CriWare.CriAtomExPlayer.ClearPreferredOutputPorts
void RemovePreferredOutputPort ( CriAtomExOutputPort  outputPort)
inline

優先出力ポートオブジェクトの取り外し

引数
outputPort出力ポートオブジェクト
説明:
プレーヤーに追加した優先出力ポートを取り外します。
備考:
プレーヤーに CriWare.CriAtomExPlayer.AddPreferredOutputPort で追加した特定の優先出力ポートオブジェクトを取り外します。
プレーヤーに設定されている出力ポートを全て取り外すには CriWare.CriAtomExPlayer.ClearOutputPorts 関数を使用してください。
注意:
優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
参照
CriWare.CriAtomExPlayer.AddOutputPort, CriWare.CriAtomExPlayer.ClearPreferredOutputPorts
void RemovePreferredOutputPort ( string  name)
inline

優先出力ポートオブジェクトの取り外し(名前指定)

引数
name出力ポート名
説明:
プレーヤーに追加した優先出力ポートを取り外します。
備考:
プレーヤーに CriWare.CriAtomExPlayer.AddPreferredOutputPort で追加した特定の優先出力ポートオブジェクトを取り外します。
プレーヤーに設定されている出力ポートを全て取り外すには CriWare.CriAtomExPlayer.ClearOutputPorts 関数を使用してください。
注意:
優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
参照
CriWare.CriAtomExPlayer.AddOutputPort, CriWare.CriAtomExPlayer.ClearPreferredOutputPorts
void ClearPreferredOutputPorts ( )
inline

優先出力ポートオブジェクトのクリア

プレーヤーに追加した優先出力ポートを全てクリアします。

プレーヤーに CriWare.CriAtomExPlayer.AddPreferredOutputPort で追加した優先出力ポートオブジェクトを全てクリアします。
特定の優先出力ポートを取り外すためには、CriWare.CriAtomExPlayer.RemovePreferredOutputPort を使用してください。

優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。

参照
CriWare.CriAtomExPlayer.AddOutputPort, CriWare.CriAtomExPlayer.RemovePreferredOutputPort
void SetScheduleTime ( System.Int64  scheduleTime)
inline

予約再生時刻の指定

説明:
AtomExプレーヤーで再生する音声について、再生を開始するタイミングを指定します。

再生開始タイミングの指定は CriWare.CriAtomExAsrRack.GetNumRenderedSamples 関数で取得できる
ASRラックの総レンダリング時間に基づくサンプル数単位で行います。
設定を無効化する場合はscheduleTimeに-1を指定してください。
注意:
予約再生が可能なのはサウンドレンダラタイプが CriWare.CriAtomEx.SoundRendererType.Asr のボイスを使用した場合のみです。
指定した予約再生時刻がすでに経過済みのタイミングの場合は、最速で発音します。
安定した動作のため、予約再生を行う場合は最低でも200ミリ秒程度を目安に余裕をもって再生を開始してください。
予約再生時刻までの時間が長くても問題ありませんが、criAtomExPlayer_Start関数を実行した時点で
再生リソースの確保が行われるため、予約を行いすぎると他の音声の再生に必要なリソースを使用してしまう
可能性がある点には注意が必要です。(ここでいう再生リソースとはボイスやバーチャルボイスのこと)
参照
CriWare.CriAtomExAsrRack.GetNumRenderedSamples

メンバ詳解

readonly uint MaxOutputPorts = 8
static

プレーヤーに指定可能な最大出力ポート数

説明:
1つのプレーヤーに対して指定可能な出力ポートの最大数です。

プロパティ詳解

CriAtomExBeatSync.CbFunc OnBeatSyncCallback
addremove

シーケンスイベントコールバックの登録

説明:
プレーヤで再生しているキューに埋め込まれたコールバックマーカー同期で実行するコールバック関数を登録します。
登録されたコールバック関数は、コールバックイベントを処理した直後の、アプリケーション メインスレッドの更新タイミングで実行されます。
CriAtomExSequencer.EventCallback OnSequenceCallback
addremove

ビート同期コールバックの登録

説明:
プレーヤで再生しているキューに埋め込まれたビート同期位置情報を受け取るコールバック関数を登録します。
登録されたコールバック関数は、コールバックイベントを処理した直後の、アプリケーション メインスレッドの更新タイミングで実行されます。

このクラス詳解は次のファイルから抽出されました: