Class CriAtomExPlayer
プレーヤーオブジェクト
Implements
Inherited Members
Namespace: CriWare
Assembly: CriWare.CriAtom.dll
Syntax
public class CriAtomExPlayer : IDisposable
Remarks
説明: CriAtomExPlayer は、音声再生用に作られたプレーヤーを操作するためのオブジェクトです。 CriAtomExPlayer(in Config, IntPtr, int) 関数で音声再生用のプレーヤーを作成すると、 関数はプレーヤー操作用に、この"AtomExプレーヤーオブジェクト"を返します。 データのセットや再生の開始、ステータスの取得等、プレーヤーに対して行う操作は、 全てAtomExプレーヤーオブジェクトを介して実行されます。
Constructors
CriAtomExPlayer(in Config, IntPtr, int)
AtomExPlayerの作成
Declaration
public CriAtomExPlayer(in CriAtomExPlayer.Config config, IntPtr work = default, int workSize = 0)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExPlayer.Config | config | AtomExプレーヤー作成用コンフィグ構造体 |
IntPtr | work | ワーク領域 |
int | workSize | ワーク領域サイズ |
Remarks
説明: AtomExプレーヤーを作成します。 プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。 ワーク領域を確保する方法には、以下の2通りの方法があります。 (a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。 (b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。 User Allocator方式を用いる場合、ユーザがワーク領域を用意する必要はありません。 workにnull、work_sizeに0を指定するだけで、必要なメモリを登録済みのメモリ確保関数から確保します。 AtomExプレーヤー作成時に確保されたメモリは、AtomExプレーヤー破棄時( Dispose() 関数実行時)に解放されます。 Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。 ワーク領域のサイズは CalculateWorkSize(in Config) 関数で取得可能です。 AtomExプレーヤー作成前に CalculateWorkSize(in Config) 関数で取得した サイズ分のメモリを予め確保しておき、本関数に設定してください。 尚、Fixed Memory方式を用いた場合、ワーク領域はAtomExプレーヤーの破棄 ( Dispose() 関数)を行うまでの間、ライブラリ内で利用され続けます。 AtomExプレーヤーの破棄を行う前に、ワーク領域のメモリを解放しないでください。
例: 【User Allocator方式によるAtomExプレーヤーの作成】 User Allocator方式を用いる場合、AtomExプレーヤーの作成/破棄の手順は以下のようになります。 -# AtomExプレーヤー作成前に、 SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) 関数を用いてメモリ確保/解放関数を登録する。 -# AtomExプレーヤー作成用コンフィグ構造体にパラメーターをセットする。 -# CriAtomExPlayer(in Config, IntPtr, int) 関数でAtomExプレーヤーを作成する。 (workにはnull、work_sizeには0を指定する。) -# オブジェクトが不要になったら Dispose() 関数でAtomExプレーヤーを破棄する。
※ライブラリ初期化時にメモリ確保/解放関数を登録済みの場合、AtomExプレーヤー作成時 に再度関数を登録する必要はありません。 【Fixed Memory方式によるAtomExプレーヤーの作成】 Fixed Memory方式を用いる場合、AtomExプレーヤーの作成/破棄の手順は以下のようになります。 -# AtomExプレーヤー作成用コンフィグ構造体にパラメーターをセットする。 -# AtomExプレーヤーの作成に必要なワーク領域のサイズを、 CalculateWorkSize(in Config) 関数を使って計算する。 -# ワーク領域サイズ分のメモリを確保する。 -# CriAtomExPlayer(in Config, IntPtr, int) 関数でAtomExプレーヤーを作成する。 (workには確保したメモリのアドレスを、work_sizeにはワーク領域のサイズを指定する。) -# オブジェクトが不要になったら Dispose() 関数でAtomExプレーヤーを破棄する。 -# ワーク領域のメモリを解放する。
CriAtomExPlayer(in Config, IntPtr, int) 関数を実行すると、AtomExプレーヤーが作成され、 プレーヤーを制御するためのオブジェクト( CriAtomExPlayer )が返されます。 データのセット、再生の開始、ステータスの取得等、AtomExプレーヤーに対して 行う操作は、全てオブジェクトに対して行います。 プレーヤーの作成に失敗した場合、戻り値として null が返されます。 プレーヤーの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。 作成されたAtomExプレーヤーオブジェクトを使用して音声データを再生する手順は以下のとおりです。 -# SetData(IntPtr, int) 関数を使用して、AtomExプレーヤーに再生するデータをセットする。 (ファイル再生時は、 SetFile(CriFsBinder, ArgString) 関数または SetContentId(CriFsBinder, int) 関数を使用する。) -# Start() 関数で再生を開始する。
備考: 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。 本関数は完了復帰型の関数です。 AtomExプレーヤーの作成にかかる時間は、プラットフォームによって異なります。 ゲームループ等の画面更新が必要なタイミングで本関数を実行するとミリ秒単位で 処理がブロックされ、フレーム落ちが発生する恐れがあります。 AtomExプレーヤーの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
See Also
CriAtomExPlayer(IntPtr, int)
デフォルト設定でのインスタンス作成
Declaration
public CriAtomExPlayer(IntPtr work = default, int workSize = 0)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | work | |
int | workSize |
Fields
IgnoreLoop
ループ情報を無視
Declaration
public const int IgnoreLoop = -2
Field Value
Type | Description |
---|---|
int |
MaxAsrRacks
プレーヤーに指定可能な最大ASRラック数
Declaration
public const int MaxAsrRacks = 8
Field Value
Type | Description |
---|---|
int |
Remarks
説明: 1つのプレーヤーに対して指定可能なASRラックの最大数です。
See Also
MaxOutputPorts
プレーヤーに指定可能な最大出力ポート数
Declaration
public const int MaxOutputPorts = 8
Field Value
Type | Description |
---|---|
int |
Remarks
説明: 1つのプレーヤーに対して指定可能な出力ポートの最大数です。
See Also
NoGroupLimitation
グループ制限なし
Declaration
public const int NoGroupLimitation = -1
Field Value
Type | Description |
---|---|
int |
Remarks
説明: ボイスリミットグループによる制限を解除するための定数です。 SetGroupNumber(int) 関数に対してこの値を指定すると、 指定されたプレーヤーはボイスリミットグループによる制限を受けなくなります。 (空きボイスがあるか、または自身より低プライオリティのボイスがあれば、 ボイスリミットグループに関係なくボイスを取得します。)
See Also
NoLoopLimitation
ループ回数制限なし
Declaration
public const int NoLoopLimitation = -1
Field Value
Type | Description |
---|---|
int |
Properties
BlockTransitionCallback
コールバックイベントオブジェクト
Declaration
public CriAtomExPlayer.BlockTransitionCbFunc BlockTransitionCallback { get; }
Property Value
Type | Description |
---|---|
CriAtomExPlayer.BlockTransitionCbFunc |
See Also
DataRequestCallback
コールバックイベントオブジェクト
Declaration
public CriAtomExPlayer.DataRequestCbFunc DataRequestCallback { get; }
Property Value
Type | Description |
---|---|
CriAtomExPlayer.DataRequestCbFunc |
See Also
FilterCallback
コールバックイベントオブジェクト
Declaration
public CriAtomExPlayer.FilterCbFunc FilterCallback { get; }
Property Value
Type | Description |
---|---|
CriAtomExPlayer.FilterCbFunc |
See Also
NativeHandle
ネイティブハンドル
Declaration
public NativeHandleIntPtr NativeHandle { get; }
Property Value
Type | Description |
---|---|
NativeHandleIntPtr |
PlaybackEventCallback
コールバックイベントオブジェクト
Declaration
public CriAtomExPlayback.EventCbFunc PlaybackEventCallback { get; }
Property Value
Type | Description |
---|---|
CriAtomExPlayback.EventCbFunc |
See Also
PlaybackTrackInfoNotificationCallback
コールバックイベントオブジェクト
Declaration
public CriAtomExPlayer.PlaybackTrackInfoNotificationCbFunc PlaybackTrackInfoNotificationCallback { get; }
Property Value
Type | Description |
---|---|
CriAtomExPlayer.PlaybackTrackInfoNotificationCbFunc |
See Also
Methods
AddMixDownCenterVolumeOffset(float)
MixDownCenterボリュームオフセット値の設定
Declaration
public void AddMixDownCenterVolumeOffset(float mixdownCenterVolumeOffset)
Parameters
Type | Name | Description |
---|---|---|
float | mixdownCenterVolumeOffset | MixDownCenterボリュームのオフセット値 |
Remarks
説明: Center, LFE以外の信号をモノラルにミックスしてCenterに出力するためのボリューム値を設定します。 本関数による設定値は、CRI Atom Craftによるデータ設定値に対して加算適用されます。 本関数の第二引数mixdown_center_volume_offsetには0~1の浮動小数点値で出力ボリュームを設定してください。
注意: 設定値の範囲外確認は行われません。範囲外を設定する際には以下の点に注意してください。 1より大きい値:出力振幅値の増幅によりクリッピングノイズ等が発生することがあります。 負値:データ設定値との和が負となった場合は、正値結果に対して位相を反転した結果が出力されます。
See Also
AddMixDownLfeVolumeOffset(float)
MixDownLFEボリュームオフセット値の設定
Declaration
public void AddMixDownLfeVolumeOffset(float mixdownLfeVolumeOffset)
Parameters
Type | Name | Description |
---|---|---|
float | mixdownLfeVolumeOffset | MixDownLFEボリュームのオフセット値 |
Remarks
説明: Center, LFE以外の信号をモノラルにミックスしてLFEに出力するためのボリューム値を設定します。 本関数による設定値は、CRI Atom Craftによるデータ設定値に対して加算適用されます。 本関数の第二引数mixdown_lfe_volume_offsetには0~1の浮動小数点値で出力ボリュームを設定してください。
注意: 設定値の範囲外確認は行われません。範囲外を設定する際には以下の点に注意してください。 1より大きい値:出力振幅値の増幅によりクリッピングノイズ等が発生することがあります。 負値:データ設定値との和が負となった場合は、正値結果に対して位相を反転した結果が出力されます。
See Also
AddOutputPort(CriAtomExOutputPort)
出力ポートオブジェクトの追加
Declaration
public void AddOutputPort(CriAtomExOutputPort outputPort)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExOutputPort | outputPort | 出力ポートオブジェクト |
Remarks
説明: プレーヤーに出力ポートを追加します。 MaxOutputPorts に定義された数分の出力ポートを指定することが可能です。
備考: 本パラメーターは ResetParameters() 関数または ClearOutputPorts() 関数にてクリアされます。 また、RemoveOutputPort(CriAtomExOutputPort) 関数で特定のオブジェクトのみを取り外すことも可能です。 キュー再生時に本関数を呼び出すと、以下の設定は全て無視され、キューは全て追加した出力ポートを通して再生されます。 - データ側に設定されているパラメーターパレットのASRラックID設定 - SetAsrRackId(int) 関数及び SetAsrRackIdArray(in int, int) 関数で指定したASRラックID - データ側に設定されているトラックの出力ポート名 出力ポートは再生開始前に設定する必要があります。 既に再生が開始された音声に対し、後から出力ポートを変更することはできません。 複数の出力ポートを指定したプレーヤーを再生した場合、ボイスはその指定された出力ポートの数だけ使用されます。 そのため、事前に指定する出力ポート数分のボイスを確保しておく必要があります。 SetData(IntPtr, int) 関数等を使用したキュー再生以外の再生時では、本関数にて指定した複数の出力ポートの内、 1つ目に設定した出力ポートのみが適用されます。 HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。 HCA-MX用にエンコードされた音声データについて出力先設定する場合、
注意: 本関数は ボイスのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。 (他のボイスを使用する場合、本関数の設定値は無視されます。) SetAsrRackId(int, int) 関数を使用して、HCA-MXミキサ自体の出力先ASRラックIDを設定してください。
See Also
AddPreferredOutputPort(CriAtomExOutputPort)
優先出力ポートオブジェクトの追加
Declaration
public void AddPreferredOutputPort(CriAtomExOutputPort outputPort)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExOutputPort | outputPort | 出力ポートオブジェクト |
Remarks
説明: プレーヤーにACF内の出力ポートより優先的に参照される出力ポートを追加します。 MaxOutputPorts に定義された数分の出力ポートを指定することが可能です。
備考: 本パラメーターは ResetParameters() 関数または ClearPreferredOutputPorts() にてクリアされます。 また、RemovePreferredOutputPort(CriAtomExOutputPort) 関数や RemovePreferredOutputPortByName(ArgString) 関数にて特定のオブジェクトのみを取り外すことも可能です。 出力ポート名が設定されているトラックを持つキューを再生したとき、通常はACF登録時に自動生成された 出力ポートから出力されます。 本関数でプレーヤーに対して優先出力ポートを追加したとき、 前述したキューを再生した際には追加された同名の優先出力ポートから出力されるようになります。
注意: データ側に出力ポート名が設定されていないトラックの再生には影響しません。 出力ポートは再生開始前に設定する必要があります。 既に再生が開始された音声に対し、後から出力ポートを変更することはできません。 一つのプレーヤーに対し、同じ名前の優先出力ポートを登録することはできません。 SetData(IntPtr, int) 関数等を使用したキュー再生以外の再生時では、本関数にて指定した複数の出力ポートの内、 1つ目に設定した出力ポートのみが適用されます。 SetAsrRackId(int) 関数実行後に本関数を実行すると、 SetAsrRackId(int) 関数にて 設定したASRラックID設定は上書きされます。 HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
See Also
AttachAisac(ArgString)
プレーヤーにAISACを取り付ける
Declaration
public void AttachAisac(ArgString globalAisacName)
Parameters
Type | Name | Description |
---|---|---|
ArgString | globalAisacName | 取り付けるグローバルAISAC名 |
Remarks
説明: プレーヤーにAISACをアタッチ(取り付け)します。 AISACをアタッチすることにより、キューやトラックにAISACを設定していなくても、AISACの効果を得ることができます。 本関数でAISACをアタッチ後、Start() 関数により再生開始すると、アタッチしたAISACを考慮して、各種パラメーターが適用されます。 またアタッチ後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対しても、アタッチしたAISACによる各種パラメーター設定を適用することができます。 AISACのアタッチに失敗した場合、関数内でエラーコールバックが発生します。 AISACのアタッチに失敗した理由については、エラーコールバックのメッセージを確認してください。
備考: 全体設定(ACFファイル)に含まれるグローバルAISACのみ、アタッチ可能です。 AISACの効果を得るには、キューやトラックに設定されているAISACと同様に、該当するAISACコントロール値を設定する必要があります。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: キューやトラックに「AISACコントロール値を変更するAISAC」が設定されていたとしても、その適用結果のAISACコントロール値は、プレーヤーにアタッチしたAISACには影響しません。 現在、「オートモジュレーション」や「ランダム」といったコントロールタイプのAISACのアタッチには対応しておりません。 現在、プレーヤーにアタッチできるAISACの最大数は、8個固定です。
See Also
AttachFader(in Config, IntPtr, int)
プレーヤーにフェーダーを取り付ける
Declaration
public void AttachFader(in CriAtomExFader.Config config, IntPtr work = default, int workSize = 0)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExFader.Config | config | フェーダーアタッチ用コンフィグ構造体 |
IntPtr | work | ワーク領域 |
int | workSize | ワーク領域サイズ |
Remarks
説明: プレーヤーにフェーダーをアタッチ(取り付け)し、 AtomExPlayerをクロスフェード専用のプレーヤーに変化させます。 (複数音の同時再生等、従来のAtomExPlayerの持つ機能が一部利用できなくなります。) 本関数でフェーダーをアタッチしたプレーヤーは、以降音声再生開始毎 ( Start() 関数や Prepare() 関数を実行する毎)に、 以下の制御を行います。 - 既にフェードアウト中の音があれば強制停止。 - 現在再生中(またはフェードイン中)の音声をフェードアウト。 - 新規に再生を開始する音声をフェードイン。 また、再生停止時( Stop() 関数実行時)には、 以下の制御を行います。 - 既にフェードアウト中の音があれば強制停止。 - 現在再生中(またはフェードイン中)の音声をフェードアウト。 プレーヤーにフェーダーを取り付ける際には、ワーク領域としてメモリを渡す必要があります。 必要なメモリのサイズは、 CalculateWorkSizeForFader(in Config) 関数で計算します。 (SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。) フェーダーのアタッチに失敗した場合、関数内でエラーコールバックが発生します。 フェーダーのアタッチに失敗した理由については、エラーコールバックのメッセージを確認してください。
備考: フェーダーをアタッチするプレーヤーが音声再生中の場合、本関数を実行したタイミングで プレーヤーが再生中の音声は全て停止されます。 フェーダーは、アタッチ中のプレーヤーに対して Start() 関数や、 Stop() 関数が実行される度、 当該プレーヤーで再生中の音声に対して以下の制御を行います。 -# 既にフェードアウト中の音声が存在する場合、その音声を即座に停止する。 -# フェードイン中の音声(または再生中の音声)が存在する場合、 その音声をその時点の音量から SetFadeOutTime(int) 関数で指定された時間をかけてフェードアウトさせる。 -# Start() 関数が実行された場合、 プレーヤーにセットされている音声データをボリューム0で再生開始し、 SetFadeInTime(int) 関数で指定された時間をかけてフェードインさせる。 ( Start() 関数の代わりに Prepare() 関数を使用した場合、ポーズを解除する時点で上記の制御が行われます。)
注意: 本関数を実行すると、AtomExPlayerに対する再生/停止操作が大きく変更されます。 (フェーダーアタッチ前後で挙動が大きく変わります。) 具体的には、同時に発音可能な音声の数が1音(クロスフェード中のみ2音)に限定され、 CriAtomExPlayback を用いた制御も行えなくなります。 本関数は、クロスフェード処理を行いたい場合にのみ必要となります。 1音だけのフェードイン/アウトについては、エンベロープやTweenをご利用ください。 本関数にワーク領域をセットした場合、セットした領域のメモリをフェーダーデタッチ時 までアプリケーション中で保持し続ける必要があります。 (セット済みのワーク領域に値を書き込んだり、メモリ解放したりしてはいけません。) フェーダーの動作仕様の都合上、フェードイン/アウトの処理対象となるのは、 過去2回の音声再生のみです。 それ以前に再生された音声は、 Start() 関数や Stop() 関数が実行された時点で強制的に停止されます。 強制停止処理のタイミングで意図しないノイズが発生する恐れがありますので、 同時再生数が3音以上にならないよう注意してください。 ( GetNumPlaybacks() 関数で同時再生数を確認してください。) フェードイン/アウトが機能するのは『AtomExプレーヤーに対する操作』のみです。 Start() 関数実行時に取得した再生IDに対し、 Stop() を実行しても、フェードアウトは行われません。 (フェーダーの設定が無視され、即座に停止処理が行われます。) 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
See Also
AttachTween(CriAtomExTween)
プレーヤーにトゥイーンを取り付ける
Declaration
public void AttachTween(CriAtomExTween tween)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExTween | tween | トゥイーンオブジェクト |
Remarks
説明: プレーヤーにトゥイーンをアタッチ(取り付け)します。 トゥイーンをアタッチすることにより、簡単な手順でパラメーターの時間変化を行うことができます。 本関数でトゥイーンをアタッチ後、Start() 関数により再生開始すると、アタッチしたトゥイーンを考慮して、各種パラメーターが適用されます。 またアタッチ後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対しても、アタッチしたトゥイーンによる各種パラメーター設定を適用することができます。
備考: トゥイーンによって変化したパラメーターは、AtomExプレーヤーに設定されているパラメーターに対し、加算/乗算/上書きされます。 加算/乗算/上書きのどれに該当するかは、AtomExプレーヤーへの設定関数(SetVolume(float) 関数等)と同様です。 例えば、ボリュームであれば乗算され、AISACコントロール値であれば上書きします。 現在、プレーヤーにアタッチできるトゥイーンの最大数は、8個固定です。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
CalculateWorkSize(in Config)
AtomExPlayer用ワーク領域サイズの計算
Declaration
public static int CalculateWorkSize(in CriAtomExPlayer.Config config)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExPlayer.Config | config | プレーヤー作成用コンフィグ構造体 |
Returns
Type | Description |
---|---|
int | ワーク領域サイズ |
Remarks
説明: AtomExプレーヤーを作成するために必要な、ワーク領域のサイズを取得します。 アロケーターを登録せずにAtomExプレーヤーを作成する場合、 あらかじめ本関数で計算したワーク領域サイズ分のメモリを ワーク領域として CriAtomExPlayer(in Config, IntPtr, int) 関数にセットする必要があります。 プレーヤーの作成に必要なワークメモリのサイズは、プレーヤー作成用コンフィグ 構造体( CriAtomExPlayer.Config )の内容によって変化します。 引数にnullを指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。 ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。
備考: 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。
See Also
CalculateWorkSizeForFader(in Config)
フェーダーのアタッチに必要なワーク領域サイズの計算
Declaration
public static int CalculateWorkSizeForFader(in CriAtomExFader.Config config)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExFader.Config | config | フェーダーアタッチ用コンフィグ構造体 |
Returns
Type | Description |
---|---|
int | ワーク領域サイズ |
Remarks
説明: AtomExプレーヤーにフェーダーをアタッチするのに必要な、ワーク領域のサイズを取得します。 アロケーターを登録せずにフェーダーをアタッチする場合、あらかじめ本関数で計算した ワーク領域サイズ分のメモリをワーク領域として AttachFader(in Config, IntPtr, int) 関数に セットする必要があります。 引数にnullを指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。 ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。
備考: 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。
See Also
ChangeDefaultPanSpeakerType(PanSpeakerType)
パンニング時の出力スピーカータイプ設定のデフォルト値変更
Declaration
public static void ChangeDefaultPanSpeakerType(CriAtomEx.PanSpeakerType panSpeakerType)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.PanSpeakerType | panSpeakerType | パンニング時の出力スピーカータイプ |
Remarks
説明: パンニング時の出力スピーカータイプのデフォルト値を変更します。 SetPanSpeakerType(PanSpeakerType) 関数を実行していないAtomExプレーヤーは、全て本関数で設定した出力スピーカータイプで再生されます。
備考: 本関数の設定はパン3Dと3Dポジショニングにおけるパンニング計算に影響します。 ライブラリ初期化時のデフォルト値は ASR の出力 ch 数やチャンネル構成に依存したセンタースピーカーを含めない(Auto)です。 ステレオスピーカーのプラットフォームでは、どれを選んだとしても最終的にはステレオにダウンミックスされます。 本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。
注意: 再生中の音声がデフォルト値を参照するタイミングはユーザーの操作に依存します。 そのため、再生中にデフォルト値を変更した場合、意図したタイミングで変更が反映されるとは限りません。 本関数を使用する場合、初期化時など音声を再生する前に実行するようにしてください。
See Also
ClearAisacControls()
プレーヤーに設定されているAISACコントロール値の削除
Declaration
public void ClearAisacControls()
Remarks
説明: プレーヤーに設定されているAISACコントロール値を全て削除します。 また削除後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生中の音声に対してAISACコントロール値の削除が行えます。
See Also
ClearOutputPorts()
出力ポートオブジェクトのクリア
Declaration
public void ClearOutputPorts()
Remarks
説明: プレーヤーに追加した出力ポートを全てクリアします。
備考: プレーヤーに AddOutputPort(CriAtomExOutputPort) 関数で追加した特定の出力ポートオブジェクトを全てクリアします。 特定のオブジェクトを取り外すためには RemoveOutputPort(CriAtomExOutputPort) 関数を使用してください。
注意: 既に再生が開始された音声に対し、後から出力ポートを変更することはできません。
See Also
ClearPreferredOutputPorts()
優先出力ポートオブジェクトのクリア
Declaration
public void ClearPreferredOutputPorts()
Remarks
説明: プレーヤーに追加した優先出力ポートを全てクリアします。
備考: プレーヤーに AddPreferredOutputPort(CriAtomExOutputPort) 関数で追加した優先出力ポートオブジェクトを全てクリアします。 特定の優先出力ポートを取り外すためには、RemovePreferredOutputPort(CriAtomExOutputPort) 関数または RemovePreferredOutputPortByName(ArgString) 関数を使用してください。
注意: 優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
See Also
ClearSelectorLabels()
プレーヤーに設定されている全てのセレクター情報の削除
Declaration
public void ClearSelectorLabels()
Remarks
説明: プレーヤーに設定されているセレクター名、ラベル名情報を全て削除します。 また削除後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生中の音声に対してセレクター情報の削除が行えますが、再生中音声が停止することはありません。
See Also
DetachAisac(ArgString)
プレーヤーからAISACを取り外す
Declaration
public void DetachAisac(ArgString globalAisacName)
Parameters
Type | Name | Description |
---|---|---|
ArgString | globalAisacName | 取り外すグローバルAISAC名 |
Remarks
説明: プレーヤーからAISACをデタッチ(取り外し)します。 本関数でAISACをデタッチ後、Start() 関数により再生開始すると、デタッチしたAISACの影響は受けなくなります。 またデタッチ後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたAISACによる影響を受けなくなります。 AISACのデタッチに失敗した場合、関数内でエラーコールバックが発生します。 AISACのデタッチに失敗した理由については、エラーコールバックのメッセージを確認してください。
See Also
DetachAisacAll()
プレーヤーから全てのAISACを取り外す
Declaration
public void DetachAisacAll()
Remarks
説明: プレーヤーから全てのAISACをデタッチ(取り外し)します。 本関数でAISACをデタッチ後、Start() 関数により再生開始すると、デタッチしたAISACの影響は受けなくなります。 またデタッチ後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたAISACによる影響を受けなくなります。
See Also
DetachFader()
プレーヤーからフェーダーを取り外す
Declaration
public void DetachFader()
Remarks
説明: プレーヤーからフェーダーをデタッチ(取り外し)します。 本関数でフェーダーをデタッチしたプレーヤーには、以降フェードイン/アウトの処理が行われなくなります。
備考: フェーダーをデタッチするプレーヤーが音声再生中の場合、本関数を実行したタイミングで プレーヤーが再生中の音声は全て停止されます。 本関数を実行せずにプレーヤーを破棄した場合、プレーヤー破棄時( Dispose() 関数実行時) にライブラリ内でフェーダーのデタッチが行われます。
See Also
DetachTween(CriAtomExTween)
プレーヤーからトゥイーンを取り外す
Declaration
public void DetachTween(CriAtomExTween tween)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExTween | tween | 取り外すトゥイーンオブジェクト |
Remarks
説明: プレーヤーからトゥイーンをデタッチ(取り外し)します。 本関数でトゥイーンをデタッチ後、Start() 関数により再生開始すると、デタッチしたトゥイーンの影響は受けなくなります。 またデタッチ後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたトゥイーンによる影響を受けなくなります。
See Also
DetachTweenAll()
プレーヤーから全てのトゥイーンを取り外す
Declaration
public void DetachTweenAll()
Remarks
説明: プレーヤーから全てのトゥイーンをデタッチ(取り外し)します。 本関数でトゥイーンをデタッチ後、Start() 関数により再生開始すると、デタッチしたトゥイーンの影響は受けなくなります。 またデタッチ後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたトゥイーンによる影響を受けなくなります。
See Also
Dispose()
AtomExプレーヤーの破棄
Declaration
public void Dispose()
Remarks
説明: AtomExプレーヤーを破棄します。 本関数を実行した時点で、AtomExプレーヤー作成時に確保されたリソースが全て解放されます。 また、引数に指定したAtomExプレーヤーオブジェクトも無効になります。
注意: 本関数は完了復帰型の関数です。 音声再生中のAtomExプレーヤーを破棄しようとした場合、本関数内で再生停止を 待ってからリソースの解放が行われます。 (ファイルから再生している場合は、さらに読み込み完了待ちが行われます。) そのため、本関数内で処理が長時間(数フレーム)ブロックされる可能性があります。 AtomExプレーヤーの作成/破棄は、シーンの切り替わり等、負荷変動を許容できる タイミングで行うようお願いいたします。
See Also
EnumeratePlaybacks(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, NativeBool>, IntPtr)
再生中の音声の列挙
Declaration
public void EnumeratePlaybacks(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, NativeBool> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, NativeBool> | func | プレイバックコールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: プレーヤーで再生中のプレイバックを列挙します。 本関数を実行すると、第 2 引数( func ) でセットされたコールバック関数が再生中のプレイバックの数分だけ呼び出されます。 (プレイバックIDが、引数としてコールバック関数に渡されます。)
備考: 第 3 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomExPlayback.CbFunc の説明をご参照ください。
See Also
EnumeratePlayers(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr)
プレーヤーの列挙
Declaration
public static void EnumeratePlayers(delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void> | func | プレーヤーコールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: アプリケーション中で確保したプレーヤーを列挙します。 本関数を実行すると、第 1 引数( func ) でセットされたコールバック関数がAtomExプレーヤーの数分だけ呼び出されます。 (AtomExプレーヤーオブジェクトが、引数としてコールバック関数に渡されます。)
備考: 第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomExPlayer.CbFunc の説明をご参照ください。
See Also
GetAisacControlById(uint)
AISACコントロール値の取得(コントロールID指定)
Declaration
public float GetAisacControlById(uint controlId)
Parameters
Type | Name | Description |
---|---|---|
uint | controlId | コントロールID |
Returns
Type | Description |
---|---|
float | コントロール値(0.0f~1.0f)、未設定時は-1.0f |
Remarks
説明: コントロールID指定でAISACのコントロール値を取得します。 指定したコントロールIDのAISACコントロール値が設定されていなかった場合、-1.0fを返します。
注意: 本関数は、AtomExプレーヤーに設定されたAISACコントロール値を取得します。 再生中の音声にAISACコントロール値を変更するAISACが設定されていたとしても、その変更結果を取得することはできません。
See Also
GetAisacControlByName(ArgString)
AISACコントロール値の取得(コントロール名指定)
Declaration
public float GetAisacControlByName(ArgString controlName)
Parameters
Type | Name | Description |
---|---|---|
ArgString | controlName | コントロール名 |
Returns
Type | Description |
---|---|
float | コントロール値(0.0f~1.0f)、未設定時は-1.0f |
Remarks
説明: コントロール名指定でAISACのコントロール値を取得します。 指定したコントロール名のAISACコントロール値が設定されていなかった場合、-1.0fを返します。
注意: 本関数は、AtomExプレーヤーに設定されたAISACコントロール値を取得します。 再生中の音声にAISACコントロール値を変更するAISACが設定されていたとしても、その変更結果を取得することはできません。
See Also
GetAttachedAisacInfo(int, out AisacInfo)
プレーヤーにアタッチされているAISACの情報を取得する
Declaration
public bool GetAttachedAisacInfo(int aisacAttachedIndex, out CriAtomEx.AisacInfo aisacInfo)
Parameters
Type | Name | Description |
---|---|---|
int | aisacAttachedIndex | アタッチされているAISACのインデックス |
CriAtomEx.AisacInfo | aisacInfo | AISAC情報 |
Returns
Type | Description |
---|---|
bool | = 情報が取得できた |
Remarks
説明: プレーヤーにアタッチされているAISACの情報を取得します。 無効なインデックスを指定した場合、falseが返ります。
See Also
GetBusSendLevelByName(ArgString, out float)
バスセンドレベルの取得
Declaration
public bool GetBusSendLevelByName(ArgString busName, out float level)
Parameters
Type | Name | Description |
---|---|---|
ArgString | busName | バス名 |
float | level | バスセンドレベル値(0.0f~1.0f) |
Returns
Type | Description |
---|---|
bool | バスセンドレベル値が取得できたかどうか?(取得できた:true/取得できない:false) |
Remarks
説明: 指定した AtomEx プレーヤーに設定されている特定のバスセンドレベルを取得します。 第2引数にはDSPバス設定内のバス名を指定します。 なお、以下のケースに該当する場合、バスセンドレベルの取得に失敗します。 - 第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない - 第1引数にて指定した AtomEx プレーヤーに第2引数のバス名に関するバスセンドレベルの設定を行っていない
See Also
GetBusSendLevelOffsetByName(ArgString, out float)
バスセンドレベルのオフセットの取得
Declaration
public bool GetBusSendLevelOffsetByName(ArgString busName, out float levelOffset)
Parameters
Type | Name | Description |
---|---|---|
ArgString | busName | バス名 |
float | levelOffset | バスセンドレベルのオフセット値(0.0f~1.0f) |
Returns
Type | Description |
---|---|
bool | バスセンドレベルのオフセット値が取得できたかどうか?(取得できた:true/取得できない:false) |
Remarks
説明: 指定した AtomEx プレーヤーに設定されている特定のバスセンドレベルのオフセットを取得します。 第2引数にはDSPバス設定内のバス名を指定します。 なお、以下のケースに該当する場合、バスセンドレベルのオフセットの取得に失敗します。 - 第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない - 第1引数にて指定した AtomEx プレーヤーに第2引数のバス名に関するバスセンドレベルの設定を行っていない
See Also
GetCategoryInfo(ushort, out Info)
カテゴリ情報の取得(インデックス指定)
Declaration
public bool GetCategoryInfo(ushort index, out CriAtomExCategory.Info info)
Parameters
Type | Name | Description |
---|---|---|
ushort | index | インデックス |
CriAtomExCategory.Info | info | カテゴリ情報 |
Returns
Type | Description |
---|---|
bool | 情報が取得できたかどうか?(取得できた:true/取得できない:false) |
Remarks
説明: インデックスを指定してプレーヤーオブジェクトに設定されているカテゴリ情報を取得します。 指定したインデックスのカテゴリが存在しない場合、falseが返ります。
GetFadeInStartOffset()
フェードイン開始オフセットの取得
Declaration
public int GetFadeInStartOffset()
Returns
Type | Description |
---|---|
int | フェードイン開始オフセット(ミリ秒単位) |
Remarks
説明: フェードイン開始オフセットを取得します。
備考: 本関数は SetFadeInStartOffset(int) 関数でセットした値を返します。
See Also
GetFadeInTime()
フェードイン時間の取得
Declaration
public int GetFadeInTime()
Returns
Type | Description |
---|---|
int | フェードイン時間(ミリ秒単位) |
Remarks
説明: フェードイン時間を取得します。
備考: 本関数は SetFadeInTime(int) 関数でセットした値を返します。
See Also
GetFadeOutEndDelay()
フェードアウト後のディレイ時間の取得
Declaration
public int GetFadeOutEndDelay()
Returns
Type | Description |
---|---|
int | フェードアウト後のディレイ時間(ミリ秒単位) |
Remarks
説明: フェードアウト後のディレイ時間を取得します。
備考: 本関数は SetFadeOutEndDelay(int) 関数でセットした値を返します。
See Also
GetFadeOutTime()
フェードアウト時間の取得
Declaration
public int GetFadeOutTime()
Returns
Type | Description |
---|---|
int | フェードアウト時間(ミリ秒単位) |
Remarks
説明: フェードアウト時間を取得します。
備考: 本関数は SetFadeOutTime(int) 関数でセットした値を返します。
See Also
GetLastPlaybackId()
最終再生IDの取得
Declaration
public CriAtomExPlayback GetLastPlaybackId()
Returns
Type | Description |
---|---|
CriAtomExPlayback | 再生ID |
Remarks
説明: プレーヤーで最後に再生した音声の再生IDを取得します。
備考:
See Also
GetNumAttachedAisacs()
プレーヤーにアタッチされているAISAC数を取得する
Declaration
public int GetNumAttachedAisacs()
Returns
Type | Description |
---|---|
int |
Remarks
説明: プレーヤーにアタッチされているAISAC数を取得します。
GetNumCategories()
カテゴリ数の取得
Declaration
public int GetNumCategories()
Returns
Type | Description |
---|---|
int | カテゴリ数 |
Remarks
説明: プレーヤーオブジェクトに設定されているカテゴリの数を取得します。
GetNumPlaybacks()
再生中の音声数の取得
Declaration
public int GetNumPlaybacks()
Returns
Type | Description |
---|---|
int | 再生音数 |
Remarks
説明: プレーヤーで現在再生中の音声の数を取得します。
備考: 本関数は、 Start() 関数で再生を行い、今現在も有効な再生IDの数を返します。 ( 使用中のボイス数の数ではありません。複数の波形データを含むシーケンスを1回再生した場合でも、 1つとカウントされます。) 使用中のボイス数を取得したい場合には、 GetNumUsedVoices(out int, out int) 関数をご利用ください。
See Also
GetPanTypeOnPlayback()
プレーヤー再生時のパンタイプの取得
Declaration
public CriAtomEx.PanType GetPanTypeOnPlayback()
Returns
Type | Description |
---|---|
CriAtomEx.PanType | プレーヤー再生時のパンタイプ |
Remarks
説明: プレーヤー再生時のパンタイプを取得します。 本関数は SetPanType(PanType) 関数にて設定したパンタイプに応じたパンタイプが返却されます。 当該設定関数を呼び出していない場合、データの設定値依存となってしまうため Unknown が返却されます。
備考: Auto を設定している場合、以下に従って返却されるパンタイプが変化します。 - CriAtomEx.Config::enable_auto_matching_in_pan_type_auto の設定 - CriAtomEx3dListener が設定されているかどうか - CriAtomEx3dSource が設定されているかどうか - CriAtomEx3dSourceList が設定されているかどうか
See Also
GetParameterFloat32(ParameterId)
パラメーターの取得(浮動小数点数)
Declaration
public float GetParameterFloat32(CriAtomEx.ParameterId id)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.ParameterId | id | パラメーターID |
Returns
Type | Description |
---|---|
float |
Remarks
説明: AtomExプレーヤーに設定されている各種パラメーターの値を取得します。 値は浮動小数点数で取得されます。
See Also
GetParameterSint32(ParameterId)
パラメーターの取得(符号付き整数)
Declaration
public int GetParameterSint32(CriAtomEx.ParameterId id)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.ParameterId | id | パラメーターID |
Returns
Type | Description |
---|---|
int |
Remarks
説明: AtomExプレーヤーに設定されている各種パラメーターの値を取得します。 値は符号付き整数で取得されます。
See Also
GetParameterUint32(ParameterId)
パラメーターの取得(符号なし整数)
Declaration
public uint GetParameterUint32(CriAtomEx.ParameterId id)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.ParameterId | id | パラメーターID |
Returns
Type | Description |
---|---|
uint |
Remarks
説明: AtomExプレーヤーに設定されている各種パラメーターの値を取得します。 値は符号なし整数で取得されます。
See Also
GetSoundObject()
サウンドオブジェクトの取得
Declaration
public CriAtomExSoundObject GetSoundObject()
Returns
Type | Description |
---|---|
CriAtomExSoundObject |
Remarks
説明: このAtomExプレーヤーに関連付けられているサウンドオブジェクトを取得します。 どのサウンドオブジェクトにも関連付けられていない場合はnullを返します。
See Also
GetStatus()
ステータスの取得
Declaration
public CriAtomExPlayer.Status GetStatus()
Returns
Type | Description |
---|---|
CriAtomExPlayer.Status | ステータス |
Remarks
説明: AtomExプレーヤーのステータスを取得します。 ステータスはAtomExプレーヤーの再生状態を示す値で、以下の5通りの値が存在します。 -# Stop -# Prep -# Playing -# Playend -# Error AtomExプレーヤーを作成した時点では、AtomExプレーヤーのステータスは停止状態 ( Stop )です。 再生する音声データをセット後、Start() 関数を実行することで、 AtomExプレーヤーのステータスが準備状態( Prep )に変更されます。 (Prep は、データ供給やデコードの開始を待っている状態です。) 再生の開始に充分なデータが供給された時点で、AtomExプレーヤーはステータスを 再生状態( Playing )に変更し、音声の出力を開始します。 セットされたデータを全て再生し終えると、AtomExプレーヤーはステータスを再生終了状態 ( Playend )に変更します。 尚、再生中にエラーが発生した場合には、AtomExプレーヤーはステータスをエラー状態 ( Error )に変更します。 AtomExプレーヤーのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
See Also
GetTime()
再生時刻の取得
Declaration
public long GetTime()
Returns
Type | Description |
---|---|
long | 再生時刻(ミリ秒単位) |
Remarks
説明: AtomExプレーヤーで最後に再生した音声の、再生時刻を取得します。 再生時刻が取得できた場合、本関数は 0 以上の値を返します。 再生時刻が取得できない場合(ボイスの取得に失敗した場合等)、本関数は負値を返します。
備考: 同一プレーヤーで複数の音声を再生し、本関数を実行した場合、本関数は "最後に"再生した音声の時刻を返します。 複数の音声に対して再生時刻をチェックする必要がある場合には、 再生する音声の数分だけプレーヤーを作成するか、または GetTime() 関数をご利用ください。 本関数が返す再生時刻は「再生開始後からの経過時間」です。 ループ再生時や、シームレス連結再生時を行った場合でも、 再生位置に応じて時刻が巻き戻ることはありません。 Pause(NativeBool) 関数でポーズをかけた場合、 再生時刻のカウントアップも停止します。 (ポーズを解除すれば再度カウントアップが再開されます。) 本関数で取得可能な時刻の精度は、サーバー処理の周波数に依存します。 (時刻の更新はサーバー処理単位で行われます。) より精度の高い時刻を取得する必要がある場合には、本関数の代わりに GetNumPlayedSamples(out long, out int) 関数を使用し、 再生済みサンプル数を取得してください。
注意: 戻り値の型はCriSint64ですが、現状、32bit以上の精度はありません。 再生時刻を元に制御を行う場合、約24日で再生時刻が異常になる点に注意が必要です。 ( 2147483647 ミリ秒を超えた時点で、再生時刻がオーバーフローし、負値になります。) AtomExプレーヤー作成時、 CriAtomExPlayer.Config 構造体の updates_time を false に設定した場合、当該プレーヤーから再生時刻を取得することはできなくなります。 再生中の音声が発音数制御によって消去された場合、 再生時刻のカウントアップもその時点で停止します。 また、再生開始時点で発音数制御によりボイスが割り当てられなかった場合、 本関数は正しい時刻を返しません。 (負値が返ります。) ドライブでリードリトライ処理等が発生し、一時的に音声データの供給が途切れた場合でも、 再生時刻のカウントアップが途切れることはありません。 (データ供給停止により再生が停止した場合でも、時刻は進み続けます。) そのため、本関数で取得した時刻を元に映像との同期を行った場合、 リードリトライ発生毎に同期が大きくズレる可能性があります。 波形データと映像の同期を厳密に取る必要がある場合は、本関数の代わりに GetNumPlayedSamples(out long, out int) 関数を使用し、 再生済みサンプル数との同期を取ってください。
See Also
IsFading()
フェード処理中かどうかのチェック
Declaration
public bool IsFading()
Returns
Type | Description |
---|---|
bool | フェード処理中かどうか(true = フェード処理中、false = フェード処理中ではない) |
Remarks
説明: フェード処理が行われている最中かどうかをチェックします。
備考: 本関数は、以下の処理期間中 true を返します。 - クロスフェード開始のための同期待ち中。 - フェードイン/フェードアウト処理中(ボリューム変更中)。 - フェードアウト完了後のディレイ期間中。
IsPaused()
ポーズ状態の取得
Declaration
public bool IsPaused()
Returns
Type | Description |
---|---|
bool | ポーズ中かどうか(false = ポーズされていない、true = ポーズ中) |
Remarks
説明: プレーヤーがポーズ中かどうかを返します。
注意: 本関数が true を返すのは、「全ての再生音がポーズ中の場合」のみです。 Pause(NativeBool) 関数実行後、再生ID指定で個々の音声のポーズを解除 ( Pause(NativeBool) 関数を実行)した場合、本関数は false を 返します。 本関数は Pause(NativeBool) 関数でポーズされた音声と、 Prepare() 関数でポーズされた音声とを区別しません。 (ポーズ方法に関係なく、全ての再生音がポーズされているかどうかのみを判定します。)
See Also
LimitLoopCount(int)
ループ回数の制限
Declaration
public void LimitLoopCount(int count)
Parameters
Type | Name | Description |
---|---|---|
int | count | ループ制限回数 |
Remarks
説明: 波形データのループ再生回数を制限します。 例えば、countに1を指定した場合、ループ波形データは1回のみループして再生を終了します。 (ループエンドポイントに到達後、1回だけループスタート位置に戻ります。)
備考: デフォルト状態では、ループポイント付きの音声データは無限にループ再生されます。 ループ回数を一旦制限した後、ループ回数を再度無限回に戻したい場合には、 count に NoLoopLimitation を指定してください。 count に IgnoreLoop を指定することで、 ループポイント付きの音声データをループさせずに再生することも可能です。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: ループ制限回数の指定は、音声再生開始前に行う必要があります。 再生中に本関数を実行しても、ループ回数は変更されません。 再生中の任意のタイミングでループ再生を停止したい場合、 ループ再生ではなく、シームレス連結再生で制御を行ってください。 本関数で指定したループ制限回数は、 あらかじめループポイントが設定された波形データを再生する場合にのみ適用されます。 波形データ自体にループポイントが設定されていない場合、 本関数を実行しても何の効果もありません。 本関数を使用してループ回数を指定した場合でも、 ループ終了時にループエンドポイント以降の波形データが再生されることはありません。 (指定回数分ループした後、ループエンドポイントで再生が停止します。) 例外的に、以下の条件を満たす場合に限り、ワンショットでループポイント以降の データを含めて再生することが可能です。(ただしループはされません) - criatomencd.exe で -nodelterm を指定してデータをエンコードする。 - 本関数に IgnoreLoop を指定してから再生を行う。 本関数でループ回数を制限できるのは、ADXコーデックとHCAコーデックのみです。 プラットフォーム依存の音声コーデックに対して本関数を実行しないでください。 (再生が終了しない、ノイズが発生する等の問題が発生します。)
See Also
OverrideDefaultPanMethod(delegate* unmanaged[Cdecl]<IntPtr, int, ChannelConfig, int, SpeakerMapping, SphericalCoordinates*, _3dAttenuationParameter*, float**, NativeBool>, IntPtr)
デフォルトのパンニング処理を上書き
Declaration
public static void OverrideDefaultPanMethod(delegate* unmanaged[Cdecl]<IntPtr, int, CriAtom.ChannelConfig, int, CriAtom.SpeakerMapping, CriAtomEx.SphericalCoordinates*, CriAtomEx._3dAttenuationParameter*, float**, NativeBool> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, int, ChannelConfig, int, SpeakerMapping, SphericalCoordinates*, _3dAttenuationParameter*, float**, NativeBool> | func | パンニング処理関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: パンニング処理をユーザー独自の処理に置き換えます。
備考: 本関数でパンニング処理関数を登録すると、Atomライブラリのパンニング処理が無効化され、 パンニングの際にユーザーが指定したコールバック関数を呼び出すよう動作が変更されます。 コールバック内でセンドレベルマトリクスを操作することにより、 ユーザー独自のパンニングアルゴリズムを使用することが可能となります。
See Also
Pause(NativeBool)
ポーズ/ポーズ解除
Declaration
public void Pause(NativeBool sw)
Parameters
Type | Name | Description |
---|---|---|
NativeBool | sw | スイッチ(false = ポーズ解除、true = ポーズ) |
Remarks
説明: 再生のポーズ/ポーズ解除を行います。 sw に true を指定して本関数を実行すると、AtomExプレーヤーは再生中の 音声をポーズ(一時停止)します。 sw に false を指定して本関数を実行すると、AtomExプレーヤーはポーズを 解除し、一時停止していた音声の再生を再開します。
備考: デフォルト状態(プレーヤー作成直後の状態)では、ポーズは解除されています。
注意: 第2引数(sw)に false を指定してポーズ解除の操作を行った場合、 本関数でポーズをかけた音声だけでなく、Prepare() 関数で再生準備中の音声についても再生が開始されてしまいます。 (旧バージョンとの互換性維持のための仕様です。) 本関数でポーズをかけた音声についてのみポーズを解除したい場合、 本関数を使用せず、 Resume(ResumeMode)(player, PausedPlayback); を実行してポーズ解除を行ってください。 本関数を実行すると、プレーヤーで再生している"全ての"音声に対してポーズ/ポーズ解除 の処理が行われます。 再生中の個々の音声に対し、個別にポーズ/ポーズ解除の処理を行う場合には、 Pause(NativeBool) 関数をご利用ください。
See Also
Prepare()
再生の準備
Declaration
public CriAtomExPlayback Prepare()
Returns
Type | Description |
---|---|
CriAtomExPlayback | 再生ID |
Remarks
説明: 音声データの再生を準備します。 本関数を実行する前に、事前に SetData(IntPtr, int) 関数等を使用し、 再生すべき音声データをAtomExプレーヤーにセットしておく必要があります。 本関数を実行すると、ポーズをかけた状態で音声の再生を開始します。 関数実行のタイミングで音声再生に必要なリソースを確保し、 バッファリング(ストリーム再生を行うファイルの読み込み)を開始しますが、 バッファリング完了後も発音は行われません。 (発音可能な状態になっても、ポーズ状態で待機します。)
本関数で再生準備を行った音声を発音するには、 本関数が返す再生 ID ( CriAtomExPlayback )に対し、 Pause(NativeBool) (id, false); の操作を行う必要があります。
備考: ストリーミング再生の音声を再生する際、本関数を使用せず Start() 関数を使用した場合、 実際に音声の再生が開始されるまでにはタイムラグがあります。 (音声データのバッファリングに時間がかかるため。) 本関数を使用することで、ストリーム再生の音声についても、発音のタイミングを 制御することが可能になります。 処理手順の概要は、以下のとおりです。 -# Prepare() 関数で準備を開始する。 -# 手順1.で取得した再生IDのステータスを GetStatus() 関数で確認。 -# ステータスが Playing になった時点で Pause(NativeBool) 関数でポーズを解除。 -# ポーズ解除後、次にサーバー処理が動作するタイミングで発音が開始される。
ポーズ解除処理に Pause(NativeBool) 関数を使用した場合、 本関数による再生準備のためのポーズと、 Pause(NativeBool) 関数による一時停止処理の両方が解除されます。 Pause(NativeBool) 関数でポーズした音声を停止したまま 本関数で再生準備を行った音声を再生したい場合、ポーズの解除に Resume(ResumeMode) 関数(または Resume(ResumeMode) 関数)をご利用ください。
See Also
RemoveOutputPort(CriAtomExOutputPort)
出力ポートオブジェクトの取り外し
Declaration
public void RemoveOutputPort(CriAtomExOutputPort outputPort)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExOutputPort | outputPort | 出力ポートオブジェクト |
Remarks
説明: プレーヤーに追加した出力ポートを取り外します。
備考: プレーヤーに AddOutputPort(CriAtomExOutputPort) 関数で追加した特定の出力ポートオブジェクトを取り外します。 プレーヤーに設定されている出力ポートを全てを取り外すには ClearOutputPorts() 関数を使用してください。
注意: 既に再生が開始された音声に対し、後から出力ポートを変更することはできません。
See Also
RemovePreferredOutputPort(CriAtomExOutputPort)
優先出力ポートオブジェクトの取り外し
Declaration
public void RemovePreferredOutputPort(CriAtomExOutputPort outputPort)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExOutputPort | outputPort | 出力ポートオブジェクト |
Remarks
説明: プレーヤーに追加した優先出力ポートを取り外します。
備考: プレーヤーに AddPreferredOutputPort(CriAtomExOutputPort) 関数で追加した特定の優先出力ポートオブジェクトを取り外します。 プレーヤーに設定されている出力ポートを全て取り外すには ClearOutputPorts() 関数を使用してください。
注意: 優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
See Also
RemovePreferredOutputPortByName(ArgString)
優先出力ポートオブジェクトの取り外し(名前指定)
Declaration
public void RemovePreferredOutputPortByName(ArgString name)
Parameters
Type | Name | Description |
---|---|---|
ArgString | name | 出力ポート名 |
Remarks
説明: プレーヤーに追加した優先出力ポートを名前を指定して取り外します。
備考: プレーヤーに AddPreferredOutputPort(CriAtomExOutputPort) 関数で追加した特定の優先出力ポートオブジェクトを取り外します。 プレーヤーに設定されている出力ポートを全てクリアするためには ClearOutputPorts() 関数を使用してください。
注意: 優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
See Also
ResetBusSends()
バスセンドレベルのリセット
Declaration
public void ResetBusSends()
Remarks
説明: AtomEx プレーヤーに設定されているバスセンド情報をリセットし、初期状態(未設定状態)に戻します。
See Also
ResetFaderParameters()
フェーダーパラメーターの初期化
Declaration
public void ResetFaderParameters()
Remarks
説明: フェーダーに設定されている各種パラメーターをクリアし、初期値に戻します。
注意: 本関数を実行する前に、 AttachFader(in Config, IntPtr, int) 関数を使用して あらかじめプレーヤーにフェーダーをアタッチしておく必要があります。 本関数でフェーダーパラメーターをクリアしても、既に再生中の音声には一切影響しません。 本関数でクリアしたフェーダーパラメーターは、本関数実行後に Start() 関数や Stop() 関数を実行するタイミングで適用されます。 (既にフェード処理を開始している音声に対しては、 本関数でクリアしたフェーダーパラメーターを適用することはできません。)
See Also
ResetParameters()
再生パラメーターの初期化
Declaration
public void ResetParameters()
Remarks
説明: AtomExプレーヤーに設定されている再生パラメーター(AISACコントロール値を含む)をリセットし、初期状態(未設定状態)に戻します。 本関数呼び出し後、Start() 関数により再生開始すると、初期状態の再生パラメーターで再生されます。
備考: 本関数呼び出し後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出したとしても、すでに再生されている音声のパラメーターは初期値には戻りません。 すでに再生されている音声のパラメーターを変える場合は、明示的にSetVolume(float) 関数等を呼び出してください。 本関数でリセットされるパラメーターは、各パラメーターの設定を行う関数に対象かどうかを記載しているため、そちらを参照して下さい。 なお、本関数では3D音源オブジェクトや3Dリスナーオブジェクト自体のもつパラメーター(位置等)はリセットされません。「AtomExプレーヤーに設定されているオブジェクトが何か」という設定だけがリセットされます。 これらのオブジェクト自体のパラメーターをリセットしたい場合には、それぞれのオブジェクトのパラメーターリセット関数を呼び出してください。
See Also
Resume(ResumeMode)
ポーズ解除
Declaration
public void Resume(CriAtomEx.ResumeMode mode)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.ResumeMode | mode | ポーズ解除対象 |
Remarks
説明: 一時停止状態の解除を行います。 Pause(NativeBool) 関数と異なり、 Prepare() 関数で再生開始待ちの音声と、 Pause(NativeBool) 関数(または Pause(NativeBool) 関数でポーズをかけた音声とを、 個別に再開させることが可能です。 第2引数(mode)に PausedPlayback を指定して本関数を実行すると、 ユーザが Pause(NativeBool) 関数(または Pause(NativeBool) 関数)で一時停止状態になった音声の再生が再開されます。 第2引数(mode)に PreparedPlayback を指定して本関数を実行すると、 ユーザが Prepare() 関数で再生準備を指示した音声の再生が開始されます。 Pause(NativeBool) 関数でポーズ状態のプレーヤーに対して Prepare() 関数で再生準備を行った場合、その音声は PausedPlayback 指定のポーズ解除処理と、 PreparedPlayback 指定のポーズ解除処理の両方が行われるまで、再生が開始されません。
備考: Pause(NativeBool) 関数か Prepare() 関数かに関係なく、 常に再生を開始したい場合には、第2引数(mode)に AllPlayback を指定して本関数を実行するか、または Pause(NativeBool)(player, false); を実行してください。
注意: 本関数を実行すると、プレーヤーで再生している"全ての"音声に対してポーズ解除 の処理が行われます。 再生中の個々の音声に対し、個別にポーズ解除の処理を行う場合には、 Resume(ResumeMode) 関数をご利用ください。
See Also
Set3dListenerHn(CriAtomEx3dListener)
3Dリスナーオブジェクトの設定
Declaration
public void Set3dListenerHn(CriAtomEx3dListener listener)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx3dListener | listener | 3Dリスナーオブジェクト |
Remarks
説明: 3Dポジショニングを実現するための3Dリスナーオブジェクトを設定します。 3Dリスナーオブジェクトと3D音源オブジェクトまたは3D音源オブジェクトリストを設定することで、3Dリスナーと3D音源オブジェクトまたは 3D音源オブジェクトリスト内の全ての3D音源オブジェクトの位置関係等から定位や音量、ピッチ等が自動的に適用されます。 本関数で3Dリスナーオブジェクトを設定後、Start() 関数により再生開始すると、 設定された3Dリスナーオブジェクトを参照して再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声が参照する3Dリスナーオブジェクトを変更することができます。 listenerにnullを設定した場合は、すでに設定されている3Dリスナーオブジェクトをクリアします。
備考: 本関数で3Dリスナーオブジェクトを設定していなくても、以下の条件を満たしている場合は自動的に3D音源に対して最も距離の近い3Dリスナーが割り当てられます。 - 3D音源オブジェクトまたは3D音源オブジェクトリストが設定されている - 3DリスナーがCriAtomEx3dListener(in Config, IntPtr, int)によって作成されている 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 3Dリスナーオブジェクトのパラメーターの変更、更新は、AtomExプレーヤーの関数ではなく、3Dリスナーオブジェクトの関数を使用して行います。 デフォルトでは、3Dポジショニングの計算は左手座標系で行われます。 右手座標系で各種ベクトルを設定する場合は、ライブラリ初期化時( Initialize(in Config, IntPtr, int) 関数 )の設定で CriAtomEx.Config::coordinate_system にRightHanded を指定してください。
See Also
Set3dSourceHn(CriAtomEx3dSource)
3D音源オブジェクトの設定
Declaration
public void Set3dSourceHn(CriAtomEx3dSource source)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx3dSource | source | 3D音源オブジェクト |
Remarks
説明: 3Dポジショニングを実現するための3D音源オブジェクトを設定します。 3Dリスナーオブジェクトと3D音源オブジェクトを設定することで、3Dリスナーオブジェクトと3D音源オブジェクトの位置関係等から定位や音量、ピッチ等が自動的に適用されます。 本関数で3D音源オブジェクトを設定後、Start() 関数により再生開始すると、 設定された3D音源オブジェクトを参照して再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声が参照する3D音源オブジェクトを変更することができます。 sourceにnullを設定した場合は、すでに設定されている3D音源オブジェクトをクリアします。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 3D音源オブジェクトのパラメーターの変更、更新は、AtomExプレーヤーの関数ではなく、3D音源オブジェクトの関数を使用して行います。 デフォルトでは、3Dポジショニングの計算は左手座標系で行われます。 右手座標系で各種ベクトルを設定する場合は、ライブラリ初期化時( Initialize(in Config, IntPtr, int) 関数 )の設定で CriAtomEx.Config::coordinate_system にRightHanded を指定してください。 ACBファイルを使用せずに音声を再生する場合は、明示的に3Dポジショニングを有効にするために、::criAtomExSetPanType 関数で_3dPosを設定する必要があります。 本関数と Set3dSourceListHn(CriAtomEx3dSourceList) 関数はお互いに設定を上書きします。 例えば、 Set3dSourceListHn(CriAtomEx3dSourceList) 関数にて3D音源オブジェクトリストをAtomExプレーヤーに設定後、本関数にてAtomExプレーヤーに3D音源オブジェクトを設定すると、 AtomExプレーヤーには新たに3D音源オブジェクトが設定され、既に設定されていた3D音源オブジェクトリストはAtomExプレーヤーからクリアされます。 本関数を用いてAtomExプレーヤーに設定された3D音源オブジェクトは、3D音源オブジェクトリストに追加することはできません。 もし3D音源オブジェクトリストに追加する場合は、既に設定されているAtomExプレーヤーの3D音源オブジェクトに関する設定をクリアしてください。
See Also
Set3dSourceListHn(CriAtomEx3dSourceList)
3D音源オブジェクトリストの設定
Declaration
public void Set3dSourceListHn(CriAtomEx3dSourceList sourceList)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx3dSourceList | sourceList | 3D音源オブジェクトリスト |
Remarks
説明: マルチポジショニング再生を実現するための3D音源オブジェクトリストを設定します。 3Dリスナーオブジェクトと3D音源オブジェクトリストを設定することで、3Dリスナーオブジェクトと3D音源オブジェクトリスト内の 全ての3D音源オブジェクトの位置関係等から定位や音量、ピッチ等が自動的に適用されます。 本関数で3D音源オブジェクトリストを設定後、Start() 関数により再生開始すると、 設定された3D音源オブジェクトリストを参照して再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声が参照する3D音源オブジェクトリストを変更することができます。 source_listにnullを設定した場合は、すでに設定されている3D音源オブジェクトリストをクリアします。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 3D音源オブジェクトリストに追加されている3D音源オブジェクトの変更、更新は、AtomExプレーヤーの関数ではなく、3D音源オブジェクトの関数を使用して行います。 右手座標系で各種ベクトルを設定する場合は、ライブラリ初期化時( Initialize(in Config, IntPtr, int) 関数 )の設定で CriAtomEx.Config::coordinate_system にRightHanded を指定してください。 ACBファイルを使用せずに音声を再生する場合は、明示的に3Dポジショニングを有効にするために、::criAtomExSetPanType 関数で_3dPosを設定する必要があります。 本関数と Set3dSourceHn(CriAtomEx3dSource) 関数はお互いに設定を上書きします。 例えば、 Set3dSourceHn(CriAtomEx3dSource) 関数にて3D音源オブジェクトをAtomExプレーヤーに設定後、本関数にてAtomExプレーヤーに3D音源オブジェクトリストを設定すると、 AtomExプレーヤーには新たに3D音源オブジェクトリストが設定され、既に設定されていた3D音源オブジェクトはAtomExプレーヤーからクリアされます。
See Also
SetAisacControlById(uint, float)
AISACコントロール値の設定(コントロールID指定)
Declaration
public void SetAisacControlById(uint controlId, float controlValue)
Parameters
Type | Name | Description |
---|---|---|
uint | controlId | コントロールID |
float | controlValue | コントロール値(0.0f~1.0f) |
Remarks
説明: コントロールID指定でAISACのコントロール値を指定します。 本関数でAISACコントロール値を設定後、Start() 関数により再生開始すると、 設定されたAISACコントロール値で再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のAISACコントロール値を更新することができます。 設定したコントロール値を削除するには、ClearAisacControls() 関数を使用してください。 AISACコントロール値には、0.0f~1.0fの範囲で実数値を指定します。
備考: AISACのコントロールタイプによって、以下のように挙動が変わります。 - オフ - 本関数等によるAISACコントロール値が未設定の場合はそのAISACは動作しません。 - オートモジュレーション - 本関数の設定値には影響されず、時間経過とともに自動的にAISACコントロール値が変化します。 - ランダム - 本関数等によって設定されたAISACコントロール値を中央値として、データに設定されたランダム幅でランダマイズし、最終的なAISACコントロール値を決定します。 - ランダマイズ処理は再生開始時のパラメーター適用でのみ行われ、再生中の音声に対するAISACコントロール値変更はできません。 - 再生開始時にAISACコントロール値が設定されていなかった場合、0.0fを中央値としてランダマイズ処理を行います。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetAisacControlByName(ArgString, float)
AISACコントロール値の設定(コントロール名指定)
Declaration
public void SetAisacControlByName(ArgString controlName, float controlValue)
Parameters
Type | Name | Description |
---|---|---|
ArgString | controlName | コントロール名 |
float | controlValue | コントロール値(0.0f~1.0f) |
Remarks
説明: コントロール名指定でAISACのコントロール値を指定します。 本関数でAISACコントロール値を設定後、Start() 関数により再生開始すると、 設定されたAISACコントロール値で再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のAISACコントロール値を更新することができます。 設定したコントロール値を削除するには、ClearAisacControls() 関数を使用してください。 AISACコントロール値の扱いはSetAisacControlById(uint, float) 関数と同様です。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetAsrRackId(int)
ASRラックIDの指定
Declaration
public void SetAsrRackId(int rackId)
Parameters
Type | Name | Description |
---|---|---|
int | rackId | ASRラックID |
Remarks
説明: ボイスの出力先ASRラックIDを指定します。 複数のASRラックIDを指定したい場合、 SetAsrRackIdArray(in int, int) 関数を使用してください。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。 キュー再生時に本関数を呼び出すと、データ側に設定されているパラメーターパレットのASRラックID設定を上書きします(データ側の設定値は無視されます)。
注意: 本関数は ボイスのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。 (他のボイスを使用する場合、本関数の設定値は無視されます。) ASRラックIDは再生開始前に設定する必要があります。 既に再生が開始された音声に対し、後からASRラックIDを変更することはできません。 SetAsrRackIdArray(in int, int) 関数実行後に本関数を実行すると、 SetAsrRackIdArray(in int, int) 関数にて 設定した複数のASRラックID設定は上書きされます。 HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。 HCA-MX用にエンコードされた音声データについて出力先ASRラックIDを設定する場合、 SetAsrRackId(int, int) 関数を使用して、HCA-MXミキサー自体の出力先ASRラックIDを設定してください。
See Also
SetAsrRackIdArray(in int, int)
複数のASRラックIDの指定
Declaration
public void SetAsrRackIdArray(in int rackIdArray, int numRacks)
Parameters
Type | Name | Description |
---|---|---|
int | rackIdArray | ASRラックIDの配列 |
int | numRacks | ASRラックID指定数 |
Remarks
説明: ボイスの出力先ASRラックIDを複数指定します。 MaxAsrRacks に定義された数分のASRラックIDを指定することが可能です。 単一のASRラックIDを指定する場合は、 SetAsrRackId(int) 関数を使用することでも指定可能です。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。 キュー再生時に本関数を呼び出すと、データ側に設定されているパラメーターパレットのASRラックID設定を上書きします(データ側の設定値は無視されます)。
注意: 本関数は ボイスのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。 (他のボイスを使用する場合、本関数の設定値は無視されます。) ASRラックIDは再生開始前に設定する必要があります。 既に再生が開始された音声に対し、後からASRラックIDを変更することはできません。 複数のASRラックIDを指定したプレーヤーを再生した場合、ボイスはその指定されたASRラックIDの数だけ使用されます。 そのため、事前に指定するASRラックID数分のボイスを確保しておく必要があります。 SetData(IntPtr, int) 関数等を使用したキュー再生以外の再生時では、本関数にて指定した複数のASRラックIDの内、 1つ目(配列のインデックスが0)の要素に格納されているASRラックIDのみが適用されます。 SetAsrRackId(int) 関数実行後に本関数を実行すると、 SetAsrRackId(int) 関数にて 設定したASRラックID設定は上書きされます。 HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。 HCA-MX用にエンコードされた音声データについて出力先ASRラックIDを設定する場合、 SetAsrRackId(int, int) 関数を使用して、HCA-MXミキサー自体の出力先ASRラックIDを設定してください。
See Also
SetBandpassFilterParameters(float, float)
バンドパスフィルターのパラメーター設定
Declaration
public void SetBandpassFilterParameters(float cofLow, float cofHigh)
Parameters
Type | Name | Description |
---|---|---|
float | cofLow | 正規化低域カットオフ周波数(0.0f~1.0f) |
float | cofHigh | 正規化高域カットオフ周波数(0.0f~1.0f) |
Remarks
説明: バンドパスフィルターのカットオフ周波数を指定します。 本関数でカットオフ周波数を設定後、Start() 関数により再生開始すると、 設定されたカットオフ周波数でバンドパスフィルターが動作します。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対してバンドパスフィルターのカットオフ周波数を更新することができます。 正規化カットオフ周波数は、対数軸上の24Hz~24000Hzを、0.0f~1.0fに正規化した値です。 例えば、正規化低域カットオフ周波数を0.0f、正規化高域カットオフ周波数を1.0fと指定すると、 バンドパスフィルターは全域が通過し、正規化低域カットオフ周波数を上げるほど、 また正規化高域カットオフ周波数を下げるほど、通過域が狭くなっていきます。
備考: キュー再生時、データ側にバンドパスフィルターのパラメーターが設定されている場合に本関数を呼び出すと、 以下のように設定されます。 - cof_low データに設定された値に対し、「cof_low_rev = 1.0f - cof_low」としてから乗算し、最終的にまた「cof_low = 1.0f - cof_low_rev」と元に戻して適用されます。 つまり、0.0fを「低域側に最もフィルターを開く」として、開き具合を乗算して適用していく形になります。 - cof_high データに設定された値に対し、乗算して適用されます。 つまり、1.0fを「高域側に最もフィルターを開く」として、開き具合を乗算して適用していく形になります。 実際に適用される正規化カットオフ周波数が1.0fを超える値になった場合、値は1.0fにクリップされます。 同様に、実際に適用される正規化カットオフ周波数が0.0f未満の値になった場合も、値は0.0fにクリップされます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetBiquadFilterParameters(BiquadFilterType, float, float, float)
バイクアッドフィルターのパラメーター設定
Declaration
public void SetBiquadFilterParameters(CriAtomEx.BiquadFilterType type, float frequency, float gain, float qValue)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.BiquadFilterType | type | フィルタータイプ |
float | frequency | 正規化周波数(0.0f~1.0f) |
float | gain | ゲイン(デシベル値) |
float | qValue | Q値 |
Remarks
説明: バイクアッドフィルターの各種パラメーターを指定します。 本関数でパラメーターを設定後、Start() 関数により再生開始すると、 設定されたパラメーターでバイクアッドフィルターが動作します。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声に対してバイクアッドフィルターのパラメーターを更新することができます。 正規化周波数は、対数軸上の24Hz~24000Hzを、0.0f~1.0fに正規化した値です。 ゲインはデシベルで指定します。 ゲインはフィルタータイプが以下の場合のみ有効です。 - Lowshelf:ローシェルフフィルター - Highshelf:ハイシェルフフィルター - Peaking:ピーキングフィルター
備考: - type データに設定された値を上書きします。 - frequency データに設定された値に加算されます。 - gain データに設定された値に乗算されます。 - q_value データに設定された値に加算されます。 実際に適用される正規化カットオフ周波数が1.0fを超える値になった場合、値は1.0fにクリップされます。 同様に、実際に適用される正規化カットオフ周波数が0.0f未満の値になった場合も、値は0.0fにクリップされます。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: HCA-MX用にエンコードされた音声データには、バイクアッドフィルターが適用されません。 バイクアッドフィルターを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。 ASRが利用できる環境では、ネイティブボイス出力時にフィルターを使用できません。 ASRが利用可能な環境でバイクアッドフィルターを使用したい場合には、 出力サウンドレンダラをASRに設定する必要があります。
See Also
SetBlockTransitionCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, int, void>, IntPtr)
ブロックトランジションコールバック関数の登録
Declaration
public void SetBlockTransitionCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, int, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, int, void> | func | ブロックトランジションコールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: ブロックシーケンス再生時にブロックトランジションが発生したときに呼び出されるコールバック関数を登録します。 登録されたコールバック関数は、ブロックトランジションが発生すると呼び出されます。 コールバック関数内で、AtomライブラリのAPIを実行しないでください。 コールバック関数はAtomライブラリ内のサーバー処理から実行されます。 そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。
See Also
SetBusSendLevelByName(ArgString, float)
バスセンドレベルの設定
Declaration
public void SetBusSendLevelByName(ArgString busName, float level)
Parameters
Type | Name | Description |
---|---|---|
ArgString | busName | バス名 |
float | level | センドレベル値(0.0f~1.0f) |
Remarks
説明: バスセンドレベルを指定します。 バスセンドレベルは、音声をどのバスにどれだけ流すかを指定するための仕組みです。 本関数でバスセンドレベルを設定後、Start() 関数により再生開始すると、 設定されたバスセンドレベルで再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のバスセンドレベルを更新することができます。 キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。 第2引数にはDSPバス設定内のバス名を指定します。 第3引数では送信時のレベル(ボリューム)を指定します。 第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない場合、設定値は無効値として処理されます。 センドレベル値の範囲や扱いは、ボリュームと同等です。SetVolume(float) 関数を参照してください。
備考: 本関数に異なるバス名を指定して複数回呼び出すことで、複数のバスに流すこともできます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetBusSendLevelOffsetByName(ArgString, float)
バスセンドレベルの設定(オフセット指定)
Declaration
public void SetBusSendLevelOffsetByName(ArgString busName, float levelOffset)
Parameters
Type | Name | Description |
---|---|---|
ArgString | busName | バス名 |
float | levelOffset | センドレベル値(0.0f~1.0f) |
Remarks
説明: バスセンドレベルをオフセットで指定します。 キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。 それ以外の仕様は SetBusSendLevelByName(ArgString, float) 関数と同様です。
備考: SetBusSendLevelByName(ArgString, float) 関数で 0.0f を設定し、かつ本関数でオフセット値を設定することで、 データ側に設定されていたバスセンドレベルを無視して値が設定可能です。(上書き設定) 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetCategoryById(uint)
カテゴリの設定(ID指定)
Declaration
public void SetCategoryById(uint categoryId)
Parameters
Type | Name | Description |
---|---|---|
uint | categoryId | カテゴリID |
Remarks
説明: カテゴリID指定でカテゴリを設定します。 設定したカテゴリ情報を削除するには、 UnsetCategory() 関数を使用します。
備考: キュー再生時に本関数を呼び出すと、データ側に設定されているカテゴリ設定とマージされます。 その際、カテゴリグループが競合している場合には本関数の設定が有効になります。 CRI Atomライブラリ Ver.2.20.31未満では データ側に設定されているカテゴリ設定を上書きしていました。(データ側の設定値は無視されていた)。 従来の仕様で動作させたい場合はライブラリ初期化時( Initialize(in Config, IntPtr, int) 関数 )に CriAtomEx.Config::enable_category_override_by_ex_player にtrueを設定してください。 本関数で設定したカテゴリ情報は、ACFのレジスト、アンレジストを行うとクリアされます。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: カテゴリ設定は再生開始前に行ってください。再生中の音声のカテゴリは更新されません。
See Also
SetCategoryByName(ArgString)
カテゴリの設定(カテゴリ名指定)
Declaration
public void SetCategoryByName(ArgString categoryName)
Parameters
Type | Name | Description |
---|---|---|
ArgString | categoryName | カテゴリ名 |
Remarks
説明: カテゴリ名指定でカテゴリを設定します。 設定したカテゴリ情報を削除するには、 UnsetCategory() 関数を使用します。
備考: カテゴリ指定を名前で行うことを除き、基本的な仕様はSetCategoryById(uint) 関数と同様です。 デフォルトカテゴリ名での指定を行う場合は CRIATOMEXCATEGORY_DEFAULT_NAME_??? を使用してください。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: カテゴリ設定は再生開始前に行ってください。再生中の音声のカテゴリは更新されません。
See Also
SetChannelConfig(int, ChannelConfig)
入力音声のチャンネルコンフィグ指定
Declaration
public void SetChannelConfig(int numChannels, CriAtom.ChannelConfig channelConfig)
Parameters
Type | Name | Description |
---|---|---|
int | numChannels | チャンネル数 |
CriAtom.ChannelConfig | channelConfig | チャンネルコンフィグ |
Remarks
説明: 入力音声のチャンネルコンフィグを指定します。 本関数実行後に指定したチャンネル数の音声を再生した場合、当該音声の各チャンネルの属性は指定したチャンネルコンフィグに基づいて判断されます。
備考: デフォルト値はChangeDefaultChannelConfig(int, ChannelConfig) 関数にて変更可能です。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetContentId(CriFsBinder, int)
音声データのセット(CPKコンテンツIDの指定)
Declaration
public void SetContentId(CriFsBinder binder, int id)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | binder | バインダーオブジェクト |
int | id | コンテンツID |
Remarks
説明: コンテンツをAtomExプレーヤーに関連付けます。 CRI File Systemライブラリを使用してCPKファイル内のコンテンツファイルを ID指定で再生するために使用します。 本関数にバインダーとコンテンツIDを指定後、 Start() 関数で再生を 開始すると、指定されたコンテンツファイルがストリーミング再生されます。 尚、本関数を実行した時点では、ファイルの読み込みは開始されません。 ファイルの読み込みが開始されるのは、 Start() 関数実行後です。
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
注意: SetContentId(CriFsBinder, int) 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int)
See Also
SetCueId(CriAtomExAcb, int)
音声データのセット(キューID指定)
Declaration
public void SetCueId(CriAtomExAcb acbHn, int id)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExAcb | acbHn | ACBオブジェクト |
int | id | キューID |
Remarks
説明: キューIDを、AtomExプレーヤーに関連付けます。 本関数でキューIDを指定後、 Start() 関数で再生を 開始すると、指定されたキューが再生されます。
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考: 第2引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータの存在を検索する処理が動作します。 (指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータのキューがプレーヤーにセットされます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。) SetCueId(CriAtomExAcb, int) 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int) (音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)
See Also
SetCueIndex(CriAtomExAcb, int)
音声データのセット(キューインデックス指定)
Declaration
public void SetCueIndex(CriAtomExAcb acbHn, int index)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExAcb | acbHn | ACBオブジェクト |
int | index | キューインデックス キューインデックスを、AtomExプレーヤーに関連付けます。 本関数でキューインデックスを指定後、 Start() 関数で再生を 開始すると、指定されたキューが再生されます。 |
Remarks
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考: 第2引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキューインデックスに 合致するデータの存在を検索する処理が動作します。 (指定したキューインデックスを持つACBデータが見つかった時点で、 当該ACBデータのキューがプレーヤーにセットされます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。) SetCueIndex(CriAtomExAcb, int) 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int) (音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。) 本関数を使用することで、キュー名やキューIDを指定せずにプレーヤーに対して 音声をセットすることが可能です。 (キュー名やキューIDがわからない場合でも、ACBファイル内のコンテンツを一通り再生 可能なので、デバッグ用途に利用可能です。)
See Also
SetCueName(CriAtomExAcb, ArgString)
音声データのセット(キュー名指定)
Declaration
public void SetCueName(CriAtomExAcb acbHn, ArgString cueName)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExAcb | acbHn | ACBオブジェクト |
ArgString | cueName | キュー名 キュー名を、AtomExプレーヤーに関連付けます。 本関数でキュー名を指定後、 Start() 関数で再生を 開始すると、指定されたキューが再生されます。 |
Remarks
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考: 第2引数( ach_hn )に null を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータの存在を検索する処理が動作します。 (指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータのキューがプレーヤーにセットされます。) この際、検索の順序は、ACBデータのロード順とは逆順で行われます。 (後からロードされたデータから優先的に検索が行われます。) SetCueName(CriAtomExAcb, ArgString) 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int) (音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)
See Also
SetCuePriority(int)
キュープライオリティの設定
Declaration
public void SetCuePriority(int cuePriority)
Parameters
Type | Name | Description |
---|---|---|
int | cuePriority | キュープライオリティ |
Remarks
説明: AtomExプレーヤーにキュープライオリティを設定します。 本関数でキュープライオリティをセット後、 Start() 関数で音声を再生すると、 再生された音声は本関数でセットしたキュープライオリティで発音されます。 関数実行前のデフォルト設定値は0です。
備考: AtomExプレーヤーがキューを再生した際、再生するキューの所属先カテゴリがリミット数 分発音済みの場合、プライオリティによる発音制御が行われます。 具体的には、AtomExプレーヤーの再生リクエストが、再生中のキューのプライオリティよりも 高い場合、AtomExプレーヤーは再生中のキューを停止し、リクエストによる再生を開始します。 (再生中の音声が停止され、別の音声が再生されます。) 逆に、AtomExプレーヤーの再生リクエストが、再生中のキューのプライオリティよりも低い場合、 AtomExプレーヤーの再生リクエストが拒否されます。 (リクエストされたキューは再生されません。) AtomExプレーヤーの再生リクエストが、再生中のキューのプライオリティと等しい場合、 AtomExプレーヤーは後着優先で発音制御を行います。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetData(IntPtr, int)
音声データのセット(オンメモリデータの指定)
Declaration
public void SetData(IntPtr buffer, int size)
Parameters
Type | Name | Description |
---|---|---|
IntPtr | buffer | バッファーアドレス |
int | size | バッファーサイズ |
Remarks
説明: メモリ上に配置された音声データを、AtomExプレーヤーに関連付けます。 本関数でメモリアドレスとサイズを指定後、 Start() 関数で再生を 開始すると、指定されたデータが再生されます。
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
注意: プレーヤーが記憶するのはバッファーのアドレスとサイズのみです。 (バッファー内のデータがコピーされるわけではありません。) そのため、指定したデータの再生が終了するまでの間、 アプリケーション側でバッファーを保持し続ける必要があります。 メモリ再生を行っているAtomExプレーヤーを停止させた場合でも、 ライブラリ内には当該メモリ領域を参照しているボイスが存在する可能性があります。 本関数でセットしたメモリ領域を解放する際には、事前に IsDataPlaying(IntPtr, int) 関数を実行し、当該メモリ領域への参照が行われていないことを確認してください。 SetData(IntPtr, int) 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int)
See Also
SetDataRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, IntPtr, void>, IntPtr)
データ要求コールバック関数の登録
Declaration
public void SetDataRequestCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, IntPtr, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, IntPtr, void> | func | データ要求コールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: データ要求コールバック関数の登録を行います。 データ要求コールバックは、複数の音声データをシームレスに連結して再生する際に 使用します。 登録したコールバック関数は、ボイスが内部的に使用している Atom プレーヤーが 連結再生用のデータを要求するタイミングで実行されます。 (前回のデータを読み込み終えて、次に再生すべきデータを要求するタイミングで コールバック関数が実行されます。) 登録したコールバック関数内で SetData(IntPtr, int) 関数等を用いて Atom プレーヤーに データをセットすると、セットされたデータは現在再生中のデータに続いてシームレスに 連結されて再生されます。 また、コールバック関数内で SetPreviousDataAgain() 関数を実行することで、 同一データを繰り返し再生し続けることも可能です。
備考: 登録したコールバック関数内でデータを指定しなかった場合、現在のデータを再生し 終えた時点で、AtomEx プレーヤーのステータスが Playend に遷移します。 タイミング等の問題により、データを指定することができないが、ステータスを Playend に遷移させたくない場合には、コールバック関数内で DeferCallback() 関数を実行してください。 DeferCallback() 関数を実行することで、約1V後に再度データ要求 コールバック関数が呼び出されます。(コールバック処理をリトライ可能。) ただし、 DeferCallback() 関数を実行した場合、再生が途切れる (連結箇所に一定時間無音が入る)可能性があります。
注意: コールバック関数は再生開始前に設定する必要があります。 再生中の音声に対しコールバックを設定したり、 設定済みのコールバックを後から変更することはできません。 複数の波形データを含むキューを再生した場合、 最初に見つかった波形データの再生が終了するタイミングでコールバック関数が実行されます。 そのため、複数の波形データを含むキューに対して連結再生の操作を行った場合、 意図しない組み合わせで波形が連結再生される可能性があります。 本機能を使用する際には、 1 つの波形データのみを含むキューを再生するか、 またはファイルやオンメモリデータ等を再生してください。 データ要求コールバック関数内で長時間処理をブロックすると、音切れ等の問題が 発生しますので、ご注意ください。 コールバック関数内で実行可能なAPIは、以下のとおりです。 - GetWaveformInfoById(int, out WaveformInfo)(引数のnull指定は不可) - GetWaveformInfoByName(ArgString, out WaveformInfo)(引数のnull指定は不可) - GetOnMemoryAwbHandle() - GetStreamingAwbHandle() - SetData(IntPtr, int) - SetFile(CriFsBinder, ArgString) - SetContentId(CriFsBinder, int) - SetWaveId(CriAtomAwb, int) - SetPreviousDataAgain() - DeferCallback() コールバック関数内で上記以外のAPIを実行した場合、 エラーコールバックやデッドロック等の問題が発生する可能性があります。 シームレス連結再生をサポートしないコーデックを使用している場合、 データ要求コールバック関数内で次のデータをセットしても、 データは続けて再生されません。 - HCA-MXコーデックを使用する場合、データがシームレスには連結されず、 再生中の音声と次に再生する音声との継ぎ目に無音が入ります。 - プラットフォーム固有の音声圧縮コーデックを使用している場合、 エラー等が発生する可能性があります。 シームレス連結再生に使用する波形データのフォーマットは、 全て同じにする必要があります。 具体的には、以下のパラメーターが同じである必要があります。 - コーデック - チャンネル数 - サンプリングレート パラメーターが異なる波形を連結しようとした場合、 意図しない速度で音声データが再生されたり、 エラーコールバックが発生する等の問題が発生します。 コールバック関数内でループ付きの波形データをセットした場合でも、 ループ再生は行われません。 (ループポイントが無視され、再生が終了します。) コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。
See Also
SetDefaultConfig(out Config)
プレーヤー作成用コンフィグ構造体にデフォルト値をセット
Declaration
public static void SetDefaultConfig(out CriAtomExPlayer.Config pConfig)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExPlayer.Config | pConfig | AtomExプレーヤー作成用コンフィグ構造体へのポインタ |
Remarks
説明: CriAtomExPlayer(in Config, IntPtr, int) 関数に設定するコンフィグ構造体 ( CriAtomExPlayer.Config )に、デフォルトの値をセットします。
See Also
SetDrySendLevel(SpeakerId, float, float)
ドライセンドレベルの設定(CRI Audio互換用)
Declaration
public void SetDrySendLevel(CriAtomEx.SpeakerId spk, float offset, float gain)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.SpeakerId | spk | スピーカーID |
float | offset | ドライセンドレベルオフセット(加算値) |
float | gain | ドライセンドレベルゲイン(乗算値) |
Remarks
説明: 出力音声のドライセンドレベルを設定します。 本関数はCRI Audioとの互換用であり、CRI Audioにあったドライセンドレベルと同じ挙動をします。 本関数でドライセンドレベルを設定後、Start() 関数で再生を開始すると、 設定されたドライセンドレベルで音声が再生されます。 またドライセンドレベル設定後に Update(CriAtomExPlayback) 関数や UpdateAll() 関数を呼び出すことで、すでに再生された音声のドライセンドレベルを更新することも可能です。 ドライセンドレベルでは、再生時の各スピーカーへの出力レベルを個別に指定することができます。 各スピーカーへの出力としてどの入力チャンネルを使用するかは、波形のチャンネル数に依存します。 例えばモノラル波形の場合は全てのスピーカーへの出力として0チャンネルを入力として使用し、 ステレオ波形の場合はL側のスピーカー(L,SL,SBL)への出力には0チャンネル(Lチャンネル)、 R側のスピーカー(R,SR,SBL)への出力には1チャンネル(Rチャンネル)を入力として使用します。 (ドライセンドレベルの設定では、ステレオの音はセンタースピーカー、LFEへは出力できません。) ドライセンドレベルは、パン3Dやセンドレベルの設定による出力レベルに対して加算されます。 ドライセンドレベル値の範囲や扱いは、基本的にはボリュームと同等です。SetVolume(float) 関数を参照してください。 ドライセンドレベルのデフォルト値は0.0fです。
備考: キュー再生時、データ側にドライセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値に対し gain を乗算し、 offset を加算した値が適用されます。 例えば、データ側のドライセンドレベルが1.0f、AtomExプレーヤーのドライセンドレベルが offset 0.2f、gain 0.5f の場合、実際に適用されるセンドレベルは0.7fになります。 ドライセンドレベルは通常ではCRI Atom Craftでは設定できず、CRI Audio Craftで作成した プロジェクトファイルをインポートした場合にのみ、データ側に設定されている場合があります。 通常では6ch素材を再生した際、自動的にセンター/LFEから出力されますが、 データ側または本関数でドライセンドレベルが設定された場合、自動では出力されなくなります。 また同様に、データ側または本関数でドライセンドレベルが設定された場合、CRI Atom Craftで設定したセンター/LFEミックスレベルは無効となります。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetDspBypass(NativeBool)
DSPパラメーターの設定
Declaration
public void SetDspBypass(NativeBool isBypassed)
Parameters
Type | Name | Description |
---|---|---|
NativeBool | isBypassed | バイパス有無 |
Remarks
説明: AtomExプレーヤーが保持するインサーションDSPをバイパスするかを設定します。 この関数で明示的に指定しなければ、インサーションDSPはバイパスされません。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetDspParameter(int, float)
DSPパラメーターの設定
Declaration
public void SetDspParameter(int paramId, float paramVal)
Parameters
Type | Name | Description |
---|---|---|
int | paramId | パラメーターID(0~10) |
float | paramVal | パラメーターID(0.0f~1.0f) |
Remarks
説明: AtomExプレーヤーが保持するインサーションDSPのパラメーターを設定します。 DSPを有効化するには、ボイスプールにあらかじめDSPがアタッチされている必要があります。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeAttackCurve(CurveType, float)
エンベロープのアタックカーブの設定
Declaration
public void SetEnvelopeAttackCurve(CriAtomEx.CurveType curveType, float strength)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.CurveType | curveType | カーブタイプ |
float | strength | カーブの強さ |
Remarks
説明: エンベロープのアタックカーブを設定します。 本関数でアタックカーブを設定後、Start() 関数により再生開始すると、設定されたアタックカーブで再生されます。 カーブタイプは CriAtomEx.CurveType に定義しているもを指定します。 カーブタイプのデフォルトは Linear です。 カーブの強さは、0.0f~2.0fの範囲で実数値を指定します。 カーブの強さのデフォルト値は1.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にアタックカーブが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeAttackTime(float)
エンベロープのアタックタイムの設定
Declaration
public void SetEnvelopeAttackTime(float attackTimeMs)
Parameters
Type | Name | Description |
---|---|---|
float | attackTimeMs | アタックタイム |
Remarks
説明: エンベロープのアタックタイムを設定します。 本関数でアタックタイムを設定後、Start() 関数により再生開始すると、設定されたアタックタイムで再生されます。 アタックタイムの単位はms(ミリ秒)です。 アタックタイムのデフォルト値は0.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にアタックタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeDecayCurve(CurveType, float)
エンベロープのディケイカーブの設定
Declaration
public void SetEnvelopeDecayCurve(CriAtomEx.CurveType curveType, float strength)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.CurveType | curveType | カーブタイプ |
float | strength | カーブの強さ |
Remarks
説明: エンベロープのディケイカーブを設定します。 本関数でディケイカーブを設定後、Start() 関数により再生開始すると、設定されたディケイカーブで再生されます。 カーブタイプは CriAtomEx.CurveType に定義しているもを指定します。 カーブタイプのデフォルトは Linear です。 カーブの強さは、0.0f~2.0fの範囲で実数値を指定します。 カーブの強さのデフォルト値は1.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にディケイカーブが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeDecayTime(float)
エンベロープのディケイタイムの設定
Declaration
public void SetEnvelopeDecayTime(float decayTimeMs)
Parameters
Type | Name | Description |
---|---|---|
float | decayTimeMs | ディケイタイム |
Remarks
説明: エンベロープのディケイタイムを設定します。 本関数でディケイタイムを設定後、Start() 関数により再生開始すると、設定されたディケイタイムで再生されます。 ディケイタイムの単位はms(ミリ秒)です。 ディケイタイムのデフォルト値は0.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にディケイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeHoldTime(float)
エンベロープのホールドタイムの設定
Declaration
public void SetEnvelopeHoldTime(float holdTimeMs)
Parameters
Type | Name | Description |
---|---|---|
float | holdTimeMs | ホールドタイム |
Remarks
説明: エンベロープのホールドタイムを設定します。 本関数でホールドタイムを設定後、Start() 関数により再生開始すると、設定されたホールドタイムで再生されます。 ホールドタイムの単位はms(ミリ秒)です。 ホールドタイムのデフォルト値は0.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にホールドタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeReleaseCurve(CurveType, float)
エンベロープのリリースカーブの設定
Declaration
public void SetEnvelopeReleaseCurve(CriAtomEx.CurveType curveType, float strength)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.CurveType | curveType | カーブタイプ |
float | strength | カーブの強さ |
Remarks
説明: エンベロープのリリースカーブを設定します。 本関数でリリースカーブを設定後、Start() 関数により再生開始すると、設定されたリリースカーブで再生されます。 カーブタイプは CriAtomEx.CurveType に定義しているもを指定します。 カーブタイプのデフォルトは Linear です。 カーブの強さは、0.0f~2.0fの範囲で実数値を指定します。 カーブの強さのデフォルト値は1.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にリリースカーブが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeReleaseTime(float)
エンベロープのリリースタイムの設定
Declaration
public void SetEnvelopeReleaseTime(float releaseTimeMs)
Parameters
Type | Name | Description |
---|---|---|
float | releaseTimeMs | リリースタイム |
Remarks
説明: エンベロープのリリースタイムを設定します。 本関数でリリースタイムを設定後、Start() 関数により再生開始すると、設定されたリリースタイムで再生されます。 リリースタイムの単位はms(ミリ秒)です。 リリースタイムのデフォルト値は0.0fです。
備考: キュー再生時、データ側にリリースタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetEnvelopeSustainLevel(float)
エンベロープのサスティンレベルの設定
Declaration
public void SetEnvelopeSustainLevel(float susutainLevel)
Parameters
Type | Name | Description |
---|---|---|
float | susutainLevel | サスティンレベル(0.0f~1.0f) |
Remarks
説明: エンベロープのサスティンレベルを設定します。 本関数でサスティンレベルを設定後、Start() 関数により再生開始すると、設定されたサスティンレベルで再生されます。 サスティンレベルには、0.0f~1.0fの範囲で実数値を指定します。 サスティンレベルのデフォルト値は1.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にサスティンレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetFadeInStartOffset(int)
フェードイン開始オフセットの設定
Declaration
public void SetFadeInStartOffset(int ms)
Parameters
Type | Name | Description |
---|---|---|
int | ms | フェードイン開始オフセット(ミリ秒指定) |
Remarks
説明: フェーダーをアタッチ済みのプレーヤーに対し、フェードイン開始オフセットを指定します。 本関数を使用することで、フェードインを開始するタイミングをフェードアウトに対して 任意の時間早めたり、遅らせることが可能です。 例えば、フェードアウト時間を5秒、フェードイン開始オフセットを5秒に設定した場合、 フェードアウトが5秒で完了した直後に次の音声をフェードインさせることが可能です。 逆に、フェードイン時間を5秒、フェードイン開始オフセットを-5秒に設定した場合、 フェードインが5秒で完了した直後に再生中の音のフェードアウトを開始させることが可能です。 フェードイン開始オフセットのデフォルト値は 0 秒です。 (フェードインとフェードアウトが同時に開始されます。)
備考: フェードイン開始のタイミングは、フェードインする音声の再生準備が整ったタイミングです。 そのため、フェードイン開始オフセットが 0 秒に設定されている場合でも、フェードイン音声 のバッファリングに時間がかかる場合(ストリーム再生時等)には、フェードアウトの開始までに しばらく時間がかかります。 (本パラメーターは、フェードインとフェードアウトのタイミングを調整するための相対値です。)
注意: 本関数を実行する前に、 AttachFader(in Config, IntPtr, int) 関数を使用して あらかじめプレーヤーにフェーダーをアタッチしておく必要があります。 本関数で設定した値は、既に再生中の音声には一切影響しません。 本関数で設定したフェード時間は、本関数実行後に Start() 関数や Stop() 関数を実行するタイミングで適用されます。 (既にフェード処理を開始している音声に対しては、 本関数で後からフェード処理のタイミングを変更することはできません。)
See Also
SetFadeInTime(int)
フェードイン時間の設定
Declaration
public void SetFadeInTime(int ms)
Parameters
Type | Name | Description |
---|---|---|
int | ms | フェードイン時間(ミリ秒指定) |
Remarks
説明: フェーダーをアタッチ済みのプレーヤーに対し、フェードイン時間を指定します。 次回音声再生時( Start() 関数実行時)には、本関数で設定された 時間で新規に音声がフェードイン再生されます。 フェードイン時間のデフォルト値は 0 秒です。 そのため、本関数を使用しない場合フェードインは行われず、即座にフルボリューム で音声の再生が開始されます。
注意: 本関数を実行する前に、 AttachFader(in Config, IntPtr, int) 関数を使用して あらかじめプレーヤーにフェーダーをアタッチしておく必要があります。 本関数で設定した値は、既に再生中の音声には一切影響しません。 本関数で設定したフェード時間は、本関数実行後に Start() 関数を 実行するタイミングで適用されます。 (既にフェードインを開始している音声に対しては、 本関数で後からフェードイン時間を変更することはできません。)
See Also
SetFadeOutEndDelay(int)
フェードアウト後のディレイ時間の設定
Declaration
public void SetFadeOutEndDelay(int ms)
Parameters
Type | Name | Description |
---|---|---|
int | ms | フェードイン開始オフセット(ミリ秒指定) |
Remarks
説明: フェードアウト完了後、ボイスを破棄するまでのディレイ時間を設定します。 本関数を使用することで、フェードアウトを終えたボイスが破棄されるまでのタイミングを任意に設定可能です。 ディレイ時間のデフォルト値は 500 ミリ秒です。 (フェードアウト音を再生するボイスは、ボリュームが 0 に設定された後、 500 ミリ秒後に破棄されます。)
備考: 音声のフェードアウトが完了する前にボイスが停止されるプラットフォーム以外は、 本関数を使用する必要はありません。
注意: 本関数を実行する前に、 AttachFader(in Config, IntPtr, int) 関数を使用して あらかじめプレーヤーにフェーダーをアタッチしておく必要があります。 本関数で設定した値は、既に再生中の音声には一切影響しません。 本関数で設定したフェード時間は、本関数実行後に Start() 関数や Stop() 関数を実行するタイミングで適用されます。 (既にフェードアウトを開始している音声に対しては、 本関数で後からフェードアウト後のディレイ時間を変更することはできません。) ボリュームの制御とボイスの停止が反映されるタイミングは、プラットフォームによって異なります。 そのため、本関数に 0 を指定した場合、プラットフォームによってはボリュームの変更が反映される 前にボイスが停止される恐れがあります。
See Also
SetFadeOutTime(int)
フェードアウト時間の設定
Declaration
public void SetFadeOutTime(int ms)
Parameters
Type | Name | Description |
---|---|---|
int | ms | フェードアウト時間(ミリ秒指定) |
Remarks
説明: フェーダーをアタッチ済みのプレーヤーに対し、フェードアウト時間を指定します。 次回音声再生時( Start() 関数実行時)には、本関数で設定された 時間で再生中の音声がフェードアウトします。 フェードアウト時間のデフォルト値は 500 ミリ秒です。
備考: フェードアウト時間が設定されている場合、AtomExプレーヤーは以下の順序で再生を停止します。 -# 指定された時間で音声のボリュームを 0 まで落とす。 -# ボリュームが 0 の状態でディレイ時間が経過するまで再生を続ける。 -# ディレイ時間経過後に再生を停止する。 フェードアウト時のボリュームコントロールは、音声再生停止前に行われます。 そのため、波形データにあらかじめ設定されたエンベロープのリリース時間は無視されます。 (厳密には、ボリュームが 0 になってからエンベロープのリリース処理が適用されます。) 第2引数( ms )に 0 を指定する場合と、 IgnoreFadeOut を指定する場合とでは、以下のように挙動が異なります。 - 0指定時:即座にボリュームが 0 に落とされ、停止処理が行われる。 - IgnoreFadeOut指定時:ボリューム変更は行われず、停止処理が行われる。 再生停止時にフェードアウト処理を行わず、波形にあらかじめ設定されている エンベロープのリリース処理を有効にしたい場合、第2引数( ms )に、 IgnoreFadeOut を指定してください。 IgnoreFadeOut を指定することで、 フェードアウト処理によるボリューム制御が行われなくなるため、 Stop() 関数実行後、ディレイ時間経過後に通常の停止処理が行われます。 (波形データにエンベロープのリリースが設定されている場合、リリース処理が行われます。)
注意: 本関数を実行する前に、 AttachFader(in Config, IntPtr, int) 関数を使用して あらかじめプレーヤーにフェーダーをアタッチしておく必要があります。 本関数で設定した値は、既に再生中の音声には一切影響しません。 本関数で設定したフェード時間は、本関数実行後に Start() 関数や Stop() 関数を実行するタイミングで適用されます。 (既にフェードアウトを開始している音声に対しては、 本関数で後からフェードアウト時間を変更することはできません。)
See Also
SetFile(CriFsBinder, ArgString)
音声データのセット(ファイル名の指定)
Declaration
public void SetFile(CriFsBinder binder, ArgString path)
Parameters
Type | Name | Description |
---|---|---|
CriFsBinder | binder | バインダーオブジェクト |
ArgString | path | ファイルパス |
Remarks
説明: 音声ファイルをAtomExプレーヤーに関連付けます。 本関数でファイルを指定後、 Start() 関数で再生を開始すると、 指定されたファイルがストリーミング再生されます。 尚、本関数を実行した時点では、ファイルの読み込みは開始されません。 ファイルの読み込みが開始されるのは、 Start() 関数実行後です。
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考: データがCPKにパックされていない場合、引数binderにはnullを指定してください。
注意: SetFile(CriFsBinder, ArgString) 関数を実行すると、 指定したパス文字列がAtomExプレーヤー内に保持されます。 AtomExプレーヤーはデフォルト状態ではパス文字列を保持する領域を1つしか確保しません。 (メモリサイズ削減のため。) しかし、ファイル再生中に別のファイルをAtomExプレーヤーにセットしたい場合、 再生中のファイルとセットしたファイルの両方のパスを保持する必要があるため、 2つのパス文字列を保存する領域が必要になります。 2つ以上のファイルを同時に再生したい場合には、プレーヤー作成時に指定する max_path_strings の数を増やす必要があります。 max_path_strings の数を増やすことで、AtomExプレーヤーは指定された数分の パス文字列を同時に保存できるようになります。 (max_path_strings に2以上の値を指定することで、 1つのプレーヤーで複数のファイルを同時にパス指定で再生することが可能となります。) ただし、 max_path_strings の値に応じて必要なワーク領域のサイズは増加します。 SetFile(CriFsBinder, ArgString) 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int)
See Also
SetFilterCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, PcmFormat, int, int, IntPtr*, void>, IntPtr)
波形フィルターコールバック関数の登録
Declaration
public void SetFilterCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, CriAtom.PcmFormat, int, int, IntPtr*, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback, PcmFormat, int, int, IntPtr*, void> | func | 波形フィルターコールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: デコード結果の PCM データを受け取るコールバック関数を登録します。 登録されたコールバック関数は、ボイスが音声データをデコードしたタイミングで呼び出されます。
注意: 複数の音声データを含むキューを再生した場合、 最初に見つかった波形データについてのみコールバックが実行されます。 (複数の波形データを含むキューについては、 2つ目以降の波形データの情報を取ることができません。) コールバック関数内で、AtomライブラリのAPIを実行しないでください。 コールバック関数はAtomライブラリ内のサーバー処理から実行されます。 そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 波形フィルターコールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。 HCA-MXコーデックやプラットフォーム固有の音声圧縮コーデックを使用している場合、 フィルターコールバックは利用できません。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。
See Also
SetFirstBlockIndex(int)
再生開始ブロックのセット(ブロックインデックス指定)
Declaration
public void SetFirstBlockIndex(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | ブロックインデックス |
Remarks
説明: 再生開始ブロックインデックスを、AtomExプレーヤーに関連付けます。 本関数で再生開始ブロックインデックスを指定後、ブロックシーケンスキューを Start() 関数で再生開始すると指定したブロックから再生を 開始します。
備考: AtomExプレーヤーのデフォルトブロックインデックスは 0 です。 Start() 関数による再生開始時にプレーヤーに設定されているキューが ブロックシーケンスでない場合は、本関数で設定した値は利用されません。 指定したインデックスに対応したブロックがない場合は先頭ブロックから再生が行われます。 この際、指定インデックスのブロックが存在しない内容のワーニングが発生します。
備考: 再生開始後のブロック遷移は SetNextBlockIndex(int) 関数を使用して行い、 再生中のブロックインデックス取得は GetCurrentBlockIndex() 関数を使用します。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetFormat(uint)
フォーマットの指定
Declaration
public void SetFormat(uint format)
Parameters
Type | Name | Description |
---|---|---|
uint | format | フォーマット |
Remarks
説明: AtomExプレーヤーで再生する音声のフォーマットを指定します。 この関数は、Start() 関数でボイスプールからボイスを 取得する際の、取得対象を絞り込む関数のひとつです。 この関数では、取得対象ボイスを、 指定したフォーマットのデータを再生可能なボイスに絞り込みます。 絞り込みを行う関数は、この関数のほかに、SetSamplingRate(int) 関数と SetNumChannels(int) 関数があります。 関数実行前のデフォルト設定値はADXフォーマットです。
備考: 本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。 キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。
See Also
SetGroupNumber(int)
グループ番号の指定
Declaration
public void SetGroupNumber(int groupNo)
Parameters
Type | Name | Description |
---|---|---|
int | groupNo | グループ番号 |
Remarks
説明: 発音時にボイスをどのボイスリミットグループから取得するかを指定します。 group_no に NoGroupLimitation を指定した場合、 プレーヤーはボイスリミットグループによる制限を受けなくなります。 (空きボイスがあるか、または自身より低プライオリティのボイスがあれば、 ボイスリミットグループに関係なくボイスを取得します。)
備考: Start() 関数で再生を開始した際、 指定したボイスリミットグループのボイスが全て使用中だった場合、 再生した音声が発音されるかどうかは、ボイスプライオリティ制御によって決まります。 (ボイスプライオリティの詳細は SetVoicePriority(int) 関数の説明をご参照ください。) キュー再生時に本関数を呼び出すと、データ側に設定されているボイスリミットグループ設定を上書きします(データ側の設定値は無視されます)。 ただし、group_no に NoGroupLimitation を指定した場合はデータ側に設定されているボイスリミットグループを参照します。
See Also
SetHcaMxMixerId(int)
HCAデコード先ミキサーIDの指定
Declaration
public void SetHcaMxMixerId(int mixerId)
Parameters
Type | Name | Description |
---|---|---|
int | mixerId | ミキサーID |
Remarks
説明: HCA-MXのデコード先ミキサーIDを指定します。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 本関数は HCA-MX ボイスを使用する場合にのみ効果があります。 (他のボイスを使用する場合、本関数の設定値は無視されます。) ミキサーIDは再生開始前に設定する必要があります。 既に再生が開始された音声に対し、後からミキサーIDを変更することはできません。
See Also
SetMaxPitch(float)
最大ピッチの設定
Declaration
public void SetMaxPitch(float pitch)
Parameters
Type | Name | Description |
---|---|---|
float | pitch | 最大ピッチ |
Remarks
説明: 音声の最大ピッチを設定します。 本関数で最大ピッチを指定することで、指定範囲内でのピッチ変更が即座に反映されるようになります。
備考: Atom Ver.2.10.00以前のライブラリでは、ピッチを上げた際に音が途切れる (再生速度が速くなった結果、音声データの供給が足りなくなる)ケースがありました。 この対策として、Atom Ver.2.10.00ではピッチを上げても音が途切れないよう、 音声を充分にバッファリングしてからピッチを上げるよう動作を変更しています。 修正により、ピッチ操作によって音が途切れることはなくなりましたが、 ピッチを上げる際にバッファリングを待つ時間分だけピッチ変更が遅れる形になるため、 音の変化が以前のバージョンと比べて緩慢になる可能性があります。 (短時間にピッチを上げ下げするケースにおいて、音の鳴り方が変わる可能性があります。) 本関数で最大ピッチをあらかじめ設定した場合、 指定された速度を想定して常にバッファリングが行われるようになるため、 (指定された範囲内の周波数においては)バッファリングなしにピッチ変更が即座に行われます。 短時間にピッチを上げ下げするケースについては、 予想される最大ピッチをあらかじめ本関数で設定してから再生を行ってください。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetNumChannels(int)
チャンネル数の指定
Declaration
public void SetNumChannels(int numChannels)
Parameters
Type | Name | Description |
---|---|---|
int | numChannels | チャンネル数 |
Remarks
説明: AtomExプレーヤーで再生する音声のチャンネル数を指定します。 この関数は、Start() 関数でボイスプールからボイスを 取得する際の、取得対象を絞り込む関数のひとつです。 この関数では、取得対象ボイスを、 指定したチャンネル数のデータを再生可能なボイスに絞り込みます。 絞り込みを行う関数は、この関数のほかに、SetFormat(uint) 関数と SetSamplingRate(int) 関数があります。 関数実行前のデフォルト設定値は2チャンネルです。
備考: 本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。 キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。
See Also
SetPan3dAngle(float)
パンニング3D角度の設定
Declaration
public void SetPan3dAngle(float pan3dAngle)
Parameters
Type | Name | Description |
---|---|---|
float | pan3dAngle | パンニング3D角度(-180.0f~180.0f:度単位) |
Remarks
説明: パンニング3D角度を指定します。 本関数でパンニング3D角度を設定後、Start() 関数により再生開始すると、設定されたパンニング3D角度で再生されます。 また設定後、Update(CriAtomExPlayback) 関数、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の範囲を超えて設定可能です。) 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetPan3dElevation(float)
パンニング3D仰俯角の設定
Declaration
public void SetPan3dElevation(float pan3dElevation)
Parameters
Type | Name | Description |
---|---|---|
float | pan3dElevation | パンニング3D仰俯角(-180.0f~180.0f:度単位) |
Remarks
説明: パンニング3D仰俯角を指定します。 本関数でパンニング3D仰俯角を設定後、Start() 関数により再生開始すると、設定されたパンニング3D角度で再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のパンニング3D角度を更新することができます。 角度は度単位で指定します。 前方を0度とし、上方向に180.0f、下方向に-180.0fまで設定できます。 例えば、45.0fを指定した場合、上前方45度に定位します。-45.0fを指定した場合、下前方45度に定位します。
本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetPan3dInteriorDistance(float)
パンニング3D距離の設定
Declaration
public void SetPan3dInteriorDistance(float pan3dInteriorDistance)
Parameters
Type | Name | Description |
---|---|---|
float | pan3dInteriorDistance | パンニング3D距離(-1.0f~1.0f) |
Remarks
説明: パンニング3Dでインテリアパンニングを行う際の距離を指定します。 本関数でパンニング3D距離を設定後、Start() 関数により再生開始すると、設定されたパンニング3D距離で再生されます。 また設定後、Update(CriAtomExPlayback) 関数、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にクリップされます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetPan3dVolume(float)
パンニング3Dボリュームの設定
Declaration
public void SetPan3dVolume(float pan3dVolume)
Parameters
Type | Name | Description |
---|---|---|
float | pan3dVolume | パンニング3Dボリューム(0.0f~1.0f) |
Remarks
説明: パンニング3Dのボリュームを指定します。 本関数でパンニング3Dボリュームを設定後、Start() 関数により再生開始すると、 設定されたパンニング3Dボリュームで再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のパンニング3Dボリュームを更新することができます。 パンニング3Dボリュームは、パンニング3D成分と、 センター/LFEへの出力レベルとを個別に制御する場合に使用します。 例えば、センドレベルで常にLFEから一定のボリュームで出力させておき、 定位はパンニング3Dでコントロールするような場合です。 値の範囲や扱いは、通常のボリュームと同等です。SetVolume(float) 関数を参照してください。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetPanAdx1Compatible(int, float)
ADX1互換のパンの設定
Declaration
public void SetPanAdx1Compatible(int ch, float pan)
Parameters
Type | Name | Description |
---|---|---|
int | ch | チャンネル番号 |
float | pan | パン設定値(-1.0f~1.0f) |
Remarks
説明: ADX1互換のパン設定関数です。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 本関数はADX1からの移植タイトル用に用意されています。 ADX環境で新規にパン操作を行うアプリケーションを作成する場合、 SetPan3dAngle(float) 関数を使用してください。 本関数でパンを設定後、Start() 関数により再生開始すると、設定されたパンで再生されます。 すでに再生された音声のパンを変更する場合、本関数で新たなパン設定をプレーヤーに指定し、 Update(CriAtomExPlayback) 関数、UpdateAll() 関数で再生中の音声にそのパラメーターを適用する必要があります。 本関数でパンをコントロール可能なのは、モノラル音声とステレオ音声のみです。 また、左右の定位のみコントロールできます。 3ch以上の音声に対してパンをコントロールしたい場合や、前後を含めた定位をコントロールしたい場合には、 SetPan3dAngle(float) 関数やSetSendLevel(int, SpeakerId, float) 関数を使用する必要があります。 再生する音声データがステレオの場合、チャンネル0番とチャンネル1番のそれぞれのパン について、独立してコントロールすることが可能です。 ただし、設定されたパンがモノラル音声向けなのか、ステレオ音声向けなのかは区別 されないため、ステレオ設定用にパン設定を行ったAtomExプレーヤーでモノラル音声を再生 した場合、意図しない位置に音源が定位する可能性があります。 再生する音声データがステレオにもかかわらず、どちらか一方のチャンネルに対して しかパンが設定されていない場合、パンを設定していないチャンネルの音声の定位位置 は 0.0f (中央からの出力)になります。 ステレオ音声のパンをコントロールする際には、必ず両方のチャンネルについてパンの 設定を行ってください。 本関数とSetPan3dAngle(float) 関数や SetSendLevel(int, SpeakerId, float) 関数を併用しないでください。 両者を併用した場合、意図しないパンで再生される可能性があります。
See Also
SetPanAngleType(PanAngleType)
パンニング時の角度タイプ設定
Declaration
public void SetPanAngleType(CriAtomEx.PanAngleType panAngleType)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.PanAngleType | panAngleType | パンニング時の角度タイプ |
Remarks
説明: パンニング時の角度タイプを指定します。 角度タイプは、マルチチャンネル(ステレオ、5.1ch等)の音声素材をパンニングするときに、各入力チャンネルをどのような角度として扱うかを表します。 本関数でパンニング時の角度タイプを設定後、Start() 関数により再生開始すると、設定された角度タイプでパンニング計算されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声の角度タイプを更新することができます。
備考: 本関数の設定はパン3Dと3Dポジショニングにおけるパンニング計算に影響します。 デフォルト値はオフセット(Offset)です。 本関数は、主にはCRI Audioとの互換用に使用します。 本関数で Fix を設定することで、CRI Audioでのパン3D計算と同じ挙動になります。 本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetPanSpeakerType(PanSpeakerType)
パンニング時の出力スピーカータイプ設定
Declaration
public void SetPanSpeakerType(CriAtomEx.PanSpeakerType panSpeakerType)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.PanSpeakerType | panSpeakerType | パンニング時の出力スピーカータイプ |
Remarks
説明: パンニング時の出力スピーカータイプを指定します。 本関数でパンニング時の出力スピーカータイプを設定後、Start() 関数により再生開始すると、設定された出力スピーカータイプでパンニング計算されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声の出力スピーカータイプを更新することができます。
備考: 本関数の設定はパン3Dと3Dポジショニングにおけるパンニング計算に影響します。 ライブラリ初期化時のデフォルト値は4chパンニング(_4ch)です。 デフォルト値はChangeDefaultPanSpeakerType(PanSpeakerType) 関数にて変更可能です。 ステレオスピーカーのプラットフォームでは、どれを選んだとしても最終的にはステレオにダウンミックスされます。 本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetPanType(PanType)
パンタイプの設定
Declaration
public void SetPanType(CriAtomEx.PanType panType)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.PanType | panType | パンタイプ |
Remarks
説明: パンタイプを指定します。 本関数でパンタイプを設定後、Start() 関数により再生開始すると、設定されたパンタイプで再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のパンタイプを更新することができます。
備考: キュー再生時に本関数を呼び出すと、データ側に設定されているパンタイプ設定を上書きします(データ側の設定値は無視されます)。 通常はデータ側でパンタイプが設定されているため、本関数を呼び出す必要はありません。 ACBファイルを使用せずに音声を再生する場合に、3Dポジショニング処理を有効にするためには、本関数で_3dPosを設定してください。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: Unknown を指定して実行した場合、エラーが発生します。
See Also
SetPitch(float)
ピッチの設定
Declaration
public void SetPitch(float pitch)
Parameters
Type | Name | Description |
---|---|---|
float | pitch | ピッチ(セント単位) |
Remarks
説明: 出力音声のピッチを指定します。 本関数でピッチを設定後、Start() 関数で再生を開始すると、 設定されたピッチで音声が再生されます。 またピッチ後に Update(CriAtomExPlayback) 関数や UpdateAll() 関数を呼び出すことにより、すでに再生された音声のピッチを更新することが可能です。 ピッチはセント単位で指定します。 1セントは1オクターブの1/1200です。半音は100セントです。 例えば、100.0fを指定した場合、ピッチが半音上がります。-100.0fを指定した場合、 ピッチが半音下がります。 ピッチのデフォルト値は0.0fです。
備考: キュー再生時、データ側にピッチが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。 例えば、データ側のピッチが-100.0f、AtomExプレーヤーのピッチが200.0fの場合、 実際に適用されるピッチは100.0fになります。 サンプリングレートの周波数比率で設定したい場合、以下の計算式で変換してから設定してください。
※freq_ratioが周波数比率、pitchがピッチの値です。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: HCA-MX用にエンコードされた音声データは、ピッチの変更ができません。 (本関数を実行しても、ピッチは変わりません。) ピッチを変更したい音声については、ADXやHCA等、他のコーデックでエンコードを行ってください。 設定可能な最大ピッチは、音声データのサンプリングレートとボイスプールの最大サンプリングレートに依存します。 例えば、音声データのサンプリングレートが24kHzで、ボイスプールの最大サンプリングレートが48kHzの場合、 設定可能な最大ピッチは1200(周波数比率2倍)になります。 再生サンプリングレートの上下によりピッチを実装しているため、 ピッチを変更すると音程と一緒に再生速度も変化します。
See Also
SetPlaybackEventCallback(delegate* unmanaged[Cdecl]<IntPtr, Event, InfoDetail*, void>, IntPtr)
再生イベントコールバックの登録
Declaration
public void SetPlaybackEventCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback.Event, CriAtomExPlayback.InfoDetail*, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, Event, InfoDetail*, void> | func | 再生イベントコールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: 再生イベントコールバックを登録します。 本関数を使用して再生イベントコールバックを登録することで、 再生イベント(再生用リソースの確保/解放や、ボイスの割り当て、バーチャル化)発生時の詳細情報 (再生元のAtomExプレーヤーや再生ID)が取得可能です。
備考: 第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。 コールバック関数のその他の引数については、 別途 CriAtomExPlayback.EventCbFunc の説明をご参照ください。 funcにnullを指定することで登録済み関数の登録解除が行えます。
注意: 1つのAtomExプレーヤーに対し、1つのコールバック関数しか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。
See Also
SetPlaybackRatio(float)
シーケンス再生レシオの設定
Declaration
public void SetPlaybackRatio(float playbackRatio)
Parameters
Type | Name | Description |
---|---|---|
float | playbackRatio | シーケンス再生レシオ |
Remarks
説明: AtomExプレーヤーで再生するシーケンスの再生レシオを設定します。 再生レシオの設定範囲は 0.0f ~ 2.0f です。 範囲外の値を設定した場合は、下限値もしくは上限値が設定されます。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 本関数による設定値は、シーケンスタイプのキューを再生する場合にのみ適用されます。 シーケンスにて発音する波形データの再生レシオには利用できません。
See Also
SetPlaybackTrackInfoNotificationCallback(delegate* unmanaged[Cdecl]<IntPtr, TrackInfo*, void>, IntPtr)
再生トラック番号通知コールバック関数の登録
Declaration
public void SetPlaybackTrackInfoNotificationCallback(delegate* unmanaged[Cdecl]<IntPtr, CriAtomExPlayback.TrackInfo*, void> func, IntPtr obj)
Parameters
Type | Name | Description |
---|---|---|
delegate* unmanaged[Cdecl]<IntPtr, TrackInfo*, void> | func | 再生トラック番号通知コールバック関数 |
IntPtr | obj | ユーザ指定オブジェクト |
Remarks
説明: 再生したトラック番号を通知するためのコールバック関数を登録します。 登録されたコールバック関数は、ポリフォニックタイプ以外のキュー再生時に呼び出されます。 コールバック関数内で、AtomライブラリのAPIを実行しないでください。 コールバック関数はAtomライブラリ内のサーバー処理から実行されます。 そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。 コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。 コールバック関数は1つしか登録できません。 登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。 funcにnullを指定することで登録済み関数の登録解除が行えます。
See Also
SetPreDelayTime(float)
プリディレイタイムの設定
Declaration
public void SetPreDelayTime(float predelayTimeMs)
Parameters
Type | Name | Description |
---|---|---|
float | predelayTimeMs | プリディレイ |
Remarks
説明: プリディレイタイムを設定します。 本関数でプリディレイタイムを設定後、Start() 関数により再生開始すると、 設定されたプリディレイタイム発音を待ちます。 プリディレイタイムの単位はms(ミリ秒)です。 プリディレイタイムのデフォルト値は0.0fです。
注意: 再生中にUpdate(CriAtomExPlayback) 関数、UpdateAll() 関数によって更新することはできません。
備考: キュー再生時、データ側にプリディレイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数の設定値を加算した値が適用されます。
See Also
SetRandomSeed(uint)
乱数種の設定
Declaration
public void SetRandomSeed(uint seed)
Parameters
Type | Name | Description |
---|---|---|
uint | seed | 乱数種 |
Remarks
説明: AtomExプレーヤーが保持する疑似乱数生成器に乱数種を設定します。 乱数種を設定することにより、各種ランダム再生処理に再現性を持たせることができます。
See Also
SetSamplingRate(int)
サンプリングレートの指定
Declaration
public void SetSamplingRate(int samplingRate)
Parameters
Type | Name | Description |
---|---|---|
int | samplingRate | サンプリングレート |
Remarks
説明: AtomExプレーヤーで再生する音声のサンプリングレートを指定します。 この関数は、Start() 関数でボイスプールからボイスを 取得する際の、取得対象を絞り込む関数のひとつです。 この関数では、取得対象ボイスを、 指定したサンプリングレートのデータを再生可能なボイスに絞り込みます。 絞り込みを行う関数は、この関数のほかに、SetFormat(uint) 関数と SetNumChannels(int) 関数があります。 関数実行前のデフォルト設定値は DefaultOutputSamplingRate です。
備考: 本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。 キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。
See Also
SetSelectorLabel(ArgString, ArgString)
セレクター情報のプレーヤーへの設定
Declaration
public void SetSelectorLabel(ArgString selector, ArgString label)
Parameters
Type | Name | Description |
---|---|---|
ArgString | selector | セレクター名 |
ArgString | label | ラベル名 |
Remarks
説明: セレクター名とラベル名を指定して、プレーヤーに設定します。 トラックにセレクターラベルが指定されているキューを再生した場合、本関数で指定したセレクターラベル と一致したトラックだけを再生します。 セレクター名、ラベル名はACFヘッダーに記載されています。 プレーヤーに設定したラベル情報の個別削除は、 UnsetSelectorLabel(ArgString) 関数を実行してください。 プレーヤーに設定したラベル情報の一括削除は、 ClearSelectorLabels() 関数を実行してください。 ラベル情報を含む全てのプレーヤー設定値削除は、 ResetParameters() 関数を実行してください。
See Also
SetSendLevel(int, SpeakerId, float)
センドレベルの設定
Declaration
public void SetSendLevel(int ch, CriAtomEx.SpeakerId spk, float level)
Parameters
Type | Name | Description |
---|---|---|
int | ch | チャンネル番号 |
CriAtomEx.SpeakerId | spk | スピーカーID |
float | level | センドレベル値(0.0f~1.0f) |
Remarks
説明: センドレベルを指定します。 センドレベルは、音声データの各チャンネルの音声を、どのスピーカーから どの程度の音量で出力するかを指定するための仕組みです。 本関数でセンドレベルを設定後、Start() 関数により再生開始すると、 設定されたセンドレベルで再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のセンドレベルを更新することができます。 第2引数のチャンネル番号は"音声データのチャンネル番号"を指定します。 第3引数のスピーカーIDには、指定したチャンネル番号のデータをどのスピーカーから 出力するかを指定し、第4引数では送信時のレベル(ボリューム)を指定します。
センドレベル値の範囲や扱いは、ボリュームと同等です。SetVolume(float) 関数を参照してください。 なお、センタースピーカーのあるプラットフォームで、モノラル音をセンタースピーカーのみから出力したい場合、 本関数ではなくSetPanSpeakerType(PanSpeakerType) 関数で_5ch を設定することをお薦めします。
備考: センドレベルの設定には「自動設定」「手動設定」の2通りが存在します。 AtomExプレーヤーを作成した直後や、 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の音声をサラウンドバックライトスピーカーからそれぞれ出力します。 これに対し、本関数を用いて「手動設定」を行った場合、音声データのチャンネル数に 関係なく、指定されたセンドレベル設定で音声が出力されます。 (音声データのチャンネル数に応じて、適宜センドレベル設定を切り替える必要があります。) 過去に指定したセンドレベルをクリアし、ルーティングを「自動設定」の状態に戻したい場合は、 ResetParameters() 関数を実行してください。 本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。
注意: センドレベルを設定していないチャンネルについては、音声が出力されません。 例えば、再生する音声データがステレオにもかかわらず、どちらか一方のチャンネルに対して しかセンドレベルが設定されていない場合、センドレベルを設定していないチャンネルの音声 はミュートされます。 センドレベルをコントロールする際には、必ず出力を行いたい全てのチャンネルについてセンド レベルの設定を行ってください。 本関数を用いてセンドレベルを設定した場合、パン3Dや3Dポジショニングの設定は無視されます。
See Also
SetSilentMode(SilentMode)
無音時処理モードの設定
Declaration
public void SetSilentMode(CriAtomEx.SilentMode silentMode)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.SilentMode | silentMode | 無音時処理モード |
Remarks
説明: 無音時処理モードを指定します。 本関数で無音時処理モードを設定後、Start() 関数により再生開始すると、設定された無音時処理モードで再生されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声の無音時処理モードを更新することができます。 無音時処理モードの詳細は、CriAtomEx.SilentMode を参照してください。 無音時処理モードのデフォルト値はNormal です。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetSoundRendererType(SoundRendererType)
サウンドレンダラタイプの指定
Declaration
public void SetSoundRendererType(CriAtom.SoundRendererType type)
Parameters
Type | Name | Description |
---|---|---|
CriAtom.SoundRendererType | type | サウンドレンダラタイプ |
Remarks
説明: AtomExプレーヤーで再生する音声の出力先サウンドレンダラを指定します。 Start() 関数で音声を再生した際、AtomExプレーヤーは本関数で 指定されたサウンドレンダラから出力するボイスを、ボイスプールから取得します。 関数実行前のデフォルト設定値は Any です。
備考: Any を指定した場合、プレーヤーはボイスの出力先に関係なく、 最初に見つかったボイスプールを使用して発音を行います。
See Also
SetSpread(float)
スプレッドの設定
Declaration
public void SetSpread(float spread)
Parameters
Type | Name | Description |
---|---|---|
float | spread | スプレッド |
Remarks
説明: スプレッドを指定します。 スプレッドは、音源の定位感を操作するパラメーターです。 引数 spread の値域は 0.0 ~ 1.0 です。デフォルト値は 0.0 です。 spread の値が大きいほど、音像の定位感が薄れます。 例えば、-30度に配置した音声は、デフォルト設定(スプレッドの値が0の状態)ではLスピーカーのみから出力されます。 スプレッドの値を変更した場合、音声がLスピーカーだけでなく、周囲の複数のスピーカーで出力されるよう変化します。 SetWideness(float) 関数と異なり、モノラル音源にも適用可能です。
備考: 本関数でパンニング時の角度タイプを設定後、Start() 関数により再生開始すると、設定された広がりでパンニング計算されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声の広がりを更新することができます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetStartTime(long)
再生開始位置の指定
Declaration
public void SetStartTime(long startTimeMs)
Parameters
Type | Name | Description |
---|---|---|
long | startTimeMs | 再生開始位置(ミリ秒指定) |
Remarks
説明: AtomExプレーヤーで再生する音声について、再生を開始する位置を指定します。 音声データを途中から再生したい場合、再生開始前に本関数で再生開始位置を 指定する必要があります。 再生開始位置の指定はミリ秒単位で行います。 例えば、 start_time_ms に 10000 をセットして本関数を実行すると、 次に再生する音声データは 10 秒目の位置から再生されます。
備考: 音声データ途中からの再生は、音声データ先頭からの再生に比べ、発音開始の タイミングが遅くなります。 これは、一旦音声データのヘッダーを解析後、指定位置にジャンプしてからデータを読み 直して再生を開始するためです。 設定した値はSetStartTimeMicro(long)による設定を上書きします。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: start_time_ms には64bit値をセット可能ですが、現状、32bit以上の再生時刻を 指定することはできません。 機種固有の音声フォーマットについても、再生開始位置を指定できない場合があります。 再生開始位置を指定してシーケンスを再生した場合、指定位置よりも前に配置された 波形データは再生されません。 (シーケンス内の個々の波形が途中から再生されることはありません。)
SetStartTimeMicro(long)
再生開始位置の指定
Declaration
public void SetStartTimeMicro(long startTimeUs)
Parameters
Type | Name | Description |
---|---|---|
long | startTimeUs | 再生開始位置(マイクロ秒指定) |
Remarks
説明: AtomExプレーヤーで再生する音声について、再生を開始する位置を指定します。 音声データを途中から再生したい場合、再生開始前に本関数で再生開始位置を 指定する必要があります。 再生開始位置の指定はマイクロ秒単位で行います。 例えば、 start_time_us に 10000000 をセットして本関数を実行すると、 次に再生する音声データは 10 秒目の位置から再生されます。
備考: 音声データ途中からの再生は、音声データ先頭からの再生に比べ、発音開始の タイミングが遅くなります。 これは、一旦音声データのヘッダーを解析後、指定位置にジャンプしてからデータを読み 直して再生を開始するためです。 設定した値はSetStartTime(long)による設定を上書きします。 本パラメーターは ResetParameters() 関数にてクリアされます。 機種固有の音声フォーマットについても、再生開始位置を指定できない場合があります。 再生開始位置を指定してシーケンスを再生した場合、指定位置よりも前に配置された 波形データは再生されません。 (シーケンス内の個々の波形が途中から再生されることはありません。)
SetStreamingCacheId(CriAtomExStreamingCache)
プレーヤーにストリーミングキャッシュを設定します
Declaration
public void SetStreamingCacheId(CriAtomExStreamingCache cacheId)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExStreamingCache | cacheId | プレーヤーで使用するストリーミングキャッシュID |
Remarks
説明: プレーヤーで使用するストリーミングキャッシュをID指定で設定します。
注意: プレーヤーで使用中のストリーミングキャッシュを破棄する場合は、 先にプレーヤーを破棄してください。 逆の順序で処理した場合の結果は不定です。
See Also
SetSyncPlaybackId(CriAtomExPlayback)
同期再生IDの設定
Declaration
public void SetSyncPlaybackId(CriAtomExPlayback playbackId)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExPlayback | playbackId | 同期対象となる再生ID |
Remarks
説明: AtomExプレーヤーで再生する音声を、指定した再生IDの音声に同期させます。 本関数で再生IDを設定後に音声を再生すると、 その音声は指定された再生IDと同じ再生位置にシークして再生を始めます。
備考: 同期対象の再生IDが無効な場合、音声データの先頭から再生が開始されます。 playback_id に InvalidPlaybackId を指定すると、 再生IDの登録がクリアされます。
注意: 本関数は、単体の波形データを再生する場合にのみ利用可能です。 シーケンスデータには利用できません。 (シーケンスデータに対して使用した場合、 シーケンス中で最初に見つかった波形データに対して同期処理が行われてしまいます。) 本関数で再生位置を調整可能なコーデックは、以下のコーデックのみです。 - ADX - HCA - Wave 他のコーデックについては、本関数を用いた同期再生は行えません。 (HCA-MXや、ハードウェアデコードを行う音声コーデックでは、本機能は利用できません。) 本機能による再生位置の同期は、可能な限りサンプル単位で行いますが、 1サンプルの誤差なく結合することを保証するものではありません。 (ミリ秒レベルのズレが許容される場合にのみご利用ください。) また、再生位置の同期精度は、プラットフォームによっても異なります。 本関数と SetStartTime(long) 関数を併用することはできません。 本関数を使用した場合、音声の再生開始位置はライブラリ内で自動的に調整されます。 そのため、本関数と SetStartTime(long) 関数を併用することはできません。 ( SetStartTime(long) 関数の設定は無視されます。) 本関数を使用して再生を行った場合、再生開始時にノイズが入る場合があります。 本機能を使用する場合、可能な限りフェードイン処理を併用してください。 本関数を使用してキュー再生を行った場合、 GetTime() 関数や GetTime() 関数による再生時刻の取得は正しく行えません。 再生時刻の確認には、これらの関数の代わりに、 GetNumPlayedSamples(out long, out int) 関数をご利用ください。
See Also
SetTrackInfo(int, in int)
トラック情報の指定
Declaration
public void SetTrackInfo(int numTracks, in int channelsPerTrack)
Parameters
Type | Name | Description |
---|---|---|
int | numTracks | トラック数 |
int | channelsPerTrack | トラック当たりのチャンネル数 |
Remarks
説明: マルチチャンネル音声のトラック構成を指定します。 本関数を使用することで、6chの音声データをモノラル6トラックの音声や、 ステレオ3トラックの音声として扱うことが可能になります。
注意: 本関数は内部的に SetSendLevel(int, SpeakerId, float) 関数を使用しています。 そのため、本関数実行後に SetSendLevel(int, SpeakerId, float) 関数を使用した場合、 音声の出力位置や出力ボリュームが意図しない結果になる可能性があります。 (同様に、 SetPan3dAngle(float) 関数や SetSendLevel(int, SpeakerId, float) 関数も併用できません。) 本関数は、3チャンネル以上の入力に対応した機種でしか利用できません。 2チャンネル(ステレオ)以下の入力までしか対応していない機種ではリンクエラーとなります。
See Also
SetTrackVolume(int, float)
トラックのボリューム設定
Declaration
public void SetTrackVolume(int trackNo, float volume)
Parameters
Type | Name | Description |
---|---|---|
int | trackNo | トラック番号 |
float | volume | トラックのボリューム |
Remarks
説明: トラックごとのボリュームを設定します。
備考: 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 本関数は SetTrackInfo(int, in int) 関数でトラック情報を設定した プレーヤーに対してのみ実行可能です。 本関数は内部的に SetSendLevel(int, SpeakerId, float) 関数を使用しています。 そのため、本関数実行後に SetSendLevel(int, SpeakerId, float) 関数を使用した場合、 音声の出力位置や出力ボリュームが意図しない結果になる可能性があります。 (同様に、 SetPan3dAngle(float) 関数や SetSendLevel(int, SpeakerId, float) 関数も併用できません。) 本関数は、3チャンネル以上の入力に対応した機種でしか利用できません。 2チャンネル(ステレオ)以下の入力までしか対応していない機種ではリンクエラーとなります。
See Also
SetVoiceControlMethod(VoiceControlMethod)
ボイス制御方法の指定
Declaration
public void SetVoiceControlMethod(CriAtomEx.VoiceControlMethod method)
Parameters
Type | Name | Description |
---|---|---|
CriAtomEx.VoiceControlMethod | method | ボイス制御方法 |
Remarks
説明: AtomExプレーヤーにボイス制御方法を設定します。 本関数でボイス制御方法をセット後、 Start() 関数で音声を再生すると、 当該プレーヤーで再生する波形データには、本関数で指定した制御方式が適用されます。 ボイス制御方法( method )には、以下のいずれかが指定可能です。 - PreferLast - PreferFirst - PreferData 空きボイスがない状態で再生中のボイスと同プライオリティの音声を再生した場合、 ボイス制御方式に PreferLast が指定されていれば、 再生中のボイスを停止して新規に音声の再生を開始します。 同条件で PreferFirst が指定されている場合、 新規の再生リクエストがキャンセルされ、既存のボイスが再生を続けます。 PreferData が指定されている場合、 データにあらかじめ設定されているボイス制御方式(オーサリングツール上で設定した値) が使用されます。 PreferData を指定しているにもかかわらず、単体ファイル再生等、 データにボイス制御方式が設定されていない場合、 後着優先( PreferLast )でボイスが制御されます。 関数実行前のデフォルト設定値はデータ依存( PreferData )です。
備考: AtomExプレーヤーが波形データを再生しようとした際、 当該波形データが所属するボイスリミットグループの発音数が上限に達していた場合や、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。 本関数でセットしたボイス制御方式は、発音制御の際、 再生しようとした波形データのプライオリティと、 再生中の波形データのプライオリティが同プライオリティであった場合に考慮されます。 (ボイスプライオリティによる発音制御の詳細は SetVoicePriority(int) 関数の説明をご参照ください。)
See Also
SetVoicePoolIdentifier(uint)
ボイスプール識別子の指定
Declaration
public void SetVoicePoolIdentifier(uint identifier)
Parameters
Type | Name | Description |
---|---|---|
uint | identifier | ボイスプール識別子 |
Remarks
説明: 発音時にボイスをどのボイスプールから取得するかを指定します。 本関数を実行すると、プレーヤーは以降指定されたボイスプール識別子に一致する ボイスプールからのみボイスを取得します。
備考: ボイスプール識別子のデフォルト値は 0 です。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
SetVoicePriority(int)
ボイスプライオリティの設定
Declaration
public void SetVoicePriority(int priority)
Parameters
Type | Name | Description |
---|---|---|
int | priority | ボイスプライオリティ(-255~255) |
Remarks
説明: AtomExプレーヤーにボイスプライオリティを設定します。 本関数でプライオリティをセット後、 Start() 関数で音声を再生すると、 再生された音声は本関数でセットしたプライオリティで発音されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声のプライオリティを更新することができます。 ボイスプライオリティには、-255~255の範囲で整数値を指定します。 範囲外の値を設定した場合、範囲に収まるようにクリッピングされます。 関数実行前のデフォルト設定値は0です。
備考: AtomExプレーヤーが波形データを再生しようとした際、 当該波形データが所属するボイスリミットグループの発音数が上限に達していた場合や、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。 (指定された波形データを再生するかどうかを、ボイスプライオリティをもとに判定します。) 具体的には、再生を行おうとした波形データのプライオリティが、 現在ボイスで再生中の波形データのプライオリティよりも高い場合、 AtomExプレーヤーは再生中のボイスを奪い取り、リクエストされた波形データの再生を開始します。 (再生中の音声が停止され、別の音声が再生されます。) 逆に、再生を行おうとした波形データのプライオリティが、 ボイスで再生中の波形データのプライオリティよりも低い場合、 AtomExプレーヤーはリクエストされた波形データの再生を行いません。 (リクエストされた音声は再生されず、再生中の音声が引き続き鳴り続けます。) 再生しようとした波形データのプライオリティが、 ボイスで再生中の波形データのプライオリティと等しい場合、 AtomExプレーヤーは発音制御方式(先着優先 or 後着優先)に従い、 以下のような制御が行われます。 - 先着優先時は、再生中の波形データを優先し、リクエストされた波形データを再生しません。 - 後着優先時は、リクエストされた波形データを優先し、ボイスを奪い取ります。 キュー再生時、データ側にボイスプライオリティが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。 例えば、データ側のプライオリティが255、AtomExプレーヤーのプライオリティが45の場合、 実際に適用されるプライオリティは300になります。 本関数で設定可能な値の範囲は-255~255ですが、ライブラリ内部の計算は CriSint32 の範囲で行われるため、 データ側と加算した結果は-255~255を超える場合があります。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 本関数は、波形データにセットされたボイスプライオリティを制御します。 Atom Craft上でキューに対して設定されたカテゴリキュープライオリティには影響を与えませんので、 ご注意ください。
See Also
SetVolume(float)
ボリュームの設定
Declaration
public void SetVolume(float volume)
Parameters
Type | Name | Description |
---|---|---|
float | volume | ボリューム値 |
Remarks
説明: 出力音声のボリュームを指定します。 本関数でボリュームを設定後、Start() 関数で再生を開始すると、 設定されたボリュームで音声が再生されます。 またボリューム設定後に Update(CriAtomExPlayback) 関数や UpdateAll() 関数を呼び出すことで、すでに再生された音声のボリュームを更新することも可能です。 ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。 例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。 0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。 0.0fを指定した場合、音声はミュートされます(無音になります)。 ボリュームのデフォルト値は1.0fです。
備考: ボリューム値には0.0f以上の値が設定可能です。 (Atomライブラリ Ver.1.21.07より、 ボリューム値に1.0fを超える値を指定できるようになりました。) 1.0fを超える値をセットした場合、プラットフォームによっては、 波形データを元素材よりも大きな音量で再生可能です。 ボリューム値に0.0f未満の値を指定した場合、値は0.0fにクリップされます。 (ボリューム値に負の値を設定した場合でも、 波形データの位相が反転されることはありません。) キュー再生時、データ側にボリュームが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。 例えば、データ側のボリュームが0.8f、AtomExプレーヤーのボリュームが0.5fの場合、 実際に適用されるボリュームは0.4fになります。 デシベルで設定したい場合、以下の計算式で変換してから設定してください。
※db_volがデシベル値、volumeがボリューム値です。 本パラメーターは ResetParameters() 関数にてクリアされます。
注意: 1.0fを超えるボリュームを指定する場合、以下の点に注意する必要があります。 - プラットフォームごとに挙動が異なる可能性がある。 - 音割れが発生する可能性がある。 本関数に1.0fを超えるボリューム値を設定した場合でも、 音声が元の波形データよりも大きな音量で再生されるかどうかは、 プラットフォームや音声圧縮コーデックの種別によって異なります。 そのため、マルチプラットフォームタイトルでボリュームを調整する場合には、 1.0fを超えるボリューム値を使用しないことをおすすめします。 (1.0fを超えるボリューム値を指定した場合、同じ波形データを再生した場合でも、 機種ごとに異なる音量で出力される可能性があります。) また、音量を上げることが可能な機種であっても、 ハードウェアで出力可能な音量には上限があるため、 音割れによるノイズが発生する可能性があります。
See Also
SetWaveId(CriAtomAwb, int)
音声データのセット(波形データIDの指定)
Declaration
public void SetWaveId(CriAtomAwb awb, int id)
Parameters
Type | Name | Description |
---|---|---|
CriAtomAwb | awb | AWBオブジェクト |
int | id | 波形データID |
Remarks
説明: 再生する波形データをAtomExプレーヤーに関連付けます。 本関数にAWBオブジェクトと波形データIDを指定後、 Start() 関数で再生を 開始すると、指定した波形データがストリーミング再生されます。 尚、本関数を実行した時点では、ファイルの読み込みは開始されません。 ファイルの読み込みが開始されるのは、 Start() 関数実行後です。
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。 そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
注意: 本関数で音声データをセットする場合、 以下の関数を使用して再生する音声データの情報を別途指定する必要があります。 - SetFormat(uint) - SetNumChannels(int) - SetSamplingRate(int) 本関数でセットした音声を再生中に、 Dispose() 関数でデータを破棄しないでください。 AWBファイルを破棄する際には、必ず再生を停止した状態で Dispose() 関数を実行してください。
See Also
SetWideness(float)
マルチチャンネル音声の広がり設定
Declaration
public void SetWideness(float wideness)
Parameters
Type | Name | Description |
---|---|---|
float | wideness | マルチチャンネル音声の広がり |
Remarks
説明: マルチチャンネル音声の広がりを指定します。 マルチチャンネル(ステレオ、5.1ch等)の音声素材をパンニングするときに、各入力チャンネル間の角度をどれだけ広げるかを指定します。 引数 wideness の値域は 0.0 ~ 1.0 です。デフォルト値は 1.0 です。 例えばステレオ音声を広がり0.5で再生すると、正面から見て左チャンネルは-15度(-30度*0.5)、右チャンネルは15度(30度*0.5)に定位するようパンニング計算されます。 モノラル音声には影響しません。
備考: 本関数でパンニング時の角度タイプを設定後、Start() 関数により再生開始すると、設定された広がりでパンニング計算されます。 また設定後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生された音声の広がりを更新することができます。 本パラメーターは ResetParameters() 関数にてクリアされます。
See Also
Start()
再生の開始
Declaration
public CriAtomExPlayback Start()
Returns
Type | Description |
---|---|
CriAtomExPlayback | 再生ID |
Remarks
説明: 音声データの再生処理を開始します。 本関数を実行する前に、事前に SetData(IntPtr, int) 関数等を使用し、再生する 音声データをAtomExプレーヤーにセットしておく必要があります。
本関数実行後、再生の進み具合(発音が開始されたか、再生が完了したか等)がどうなって いるかは、ステータスを取得することで確認が可能です。 ステータスの取得には、 GetStatus() 関数を使用します。 GetStatus() 関数は以下の5通りのステータスを返します。 -# Stop -# Prep -# Playing -# Playend -# Error AtomExプレーヤーを作成した時点では、AtomExプレーヤーのステータスは停止状態 ( Stop )です。 再生する音声データをセット後、本関数を実行することで、AtomExプレーヤーのステータスが 準備状態( Prep )に変更されます。 (Prep は、データ供給やデコードの開始を待っている状態です。) 再生の開始に充分なデータが供給された時点で、AtomExプレーヤーはステータスを 再生状態( Playing )に変更し、音声の出力を開始します。 セットされたデータを全て再生し終えると、AtomExプレーヤーはステータスを再生終了状態 ( Playend )に変更します。 尚、再生中にエラーが発生した場合には、AtomExプレーヤーはステータスをエラー状態 ( Error )に変更します。 AtomExプレーヤーのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
備考: 関数実行時に発音リソースが確保できない場合(全てのボイスが使用中で、なおかつ 他のボイスを奪い取れない場合等)、本関数は InvalidPlaybackId を返します。 しかし、戻り値を元にエラーチェックを行わなくても、ほとんどのケースで問題は発生しません。 再生ID( CriAtomExPlayback )を使用する API に対し、 InvalidPlaybackId をセットしたとしても、Atomライブラリは特に何も処理しません。 そのため、デバッグ目的で発音が行われたかどうかをチェックしたい場合を除き、 本関数の結果に応じてアプリケーション側で処理を切り分ける必要はありません。 ( InvalidPlaybackId が返された際に、有効な再生IDが返された場合と 同様の処理を行っても、エラーコールバック等は発生しません。)
See Also
Stop()
再生の停止
Declaration
public void Stop()
Remarks
説明: 再生の停止要求を発行します。 音声再生中のAtomExプレーヤーに対して本関数を実行すると、 AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( Stop )に遷移します。
備考: 既に停止しているAtomExプレーヤー(ステータスが Playend や Error のAtomExプレーヤー) に対して本関数を実行すると、 AtomExプレーヤーのステータスを Stop に変更します。
注意: 本関数は完了復帰型の関数ではありません。 そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。 (停止状態になるまでに、時間がかかる場合があります。) 停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(Stop) になることを確認してください。
See Also
StopAllPlayers()
全てのプレーヤーの再生を停止
Declaration
public static void StopAllPlayers()
Remarks
説明: 全てのAtomExプレーヤーに対し、再生の停止要求を発行します。 本関数を実行すると、AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( Stop )に遷移します。
備考: 既に停止しているAtomExプレーヤー(ステータスが Playend や Error のAtomExプレーヤー) についても、 本関数が実行されるとステータスが Stop に変更されます。
注意: 本関数は完了復帰型の関数ではありません。 そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。 (停止状態になるまでに、時間がかかる場合があります。) 停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(Stop) になることを確認してください。
See Also
StopAllPlayersWithoutReleaseTime()
全てのプレーヤーの再生を停止(リリースタイム無視)
Declaration
public static void StopAllPlayersWithoutReleaseTime()
Remarks
説明: 全てのAtomExプレーヤーに対し、再生の停止要求を発行します。 この際、再生中の音声にエンベロープのリリースタイムが設定されていたとしても、 それを無視して停止します。 本関数を実行すると、AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( Stop )に遷移します。
備考: 既に停止しているAtomExプレーヤー(ステータスが Playend や Error のAtomExプレーヤー) についても、 本関数が実行されるとステータスが Stop に変更されます。
注意: 本関数は完了復帰型の関数ではありません。 そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。 (停止状態になるまでに、時間がかかる場合があります。) 停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(Stop) になることを確認してください。
See Also
StopWithoutReleaseTime()
再生の停止(リリースタイム無視)
Declaration
public void StopWithoutReleaseTime()
Remarks
説明: 再生の停止要求を発行します。 この際、再生中の音声にエンベロープのリリースタイムが設定されていたとしても、 それを無視して停止します。 音声再生中のAtomExプレーヤーに対して本関数を実行すると、 AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( Stop )に遷移します。
備考: 既に停止しているAtomExプレーヤー(ステータスが Playend や Error のAtomExプレーヤー) に対して本関数を実行すると、 AtomExプレーヤーのステータスを Stop に変更します。
注意: 本関数は完了復帰型の関数ではありません。 そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。 (停止状態になるまでに、時間がかかる場合があります。) 停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(Stop) になることを確認してください。
See Also
UnsetCategory()
カテゴリの削除
Declaration
public void UnsetCategory()
Remarks
説明: プレーヤーオブジェクトに設定されているカテゴリ情報を削除します。
See Also
UnsetSelectorLabel(ArgString)
プレーヤーに設定されているセレクター情報の削除
Declaration
public void UnsetSelectorLabel(ArgString selector)
Parameters
Type | Name | Description |
---|---|---|
ArgString | selector | セレクター名 |
Remarks
説明: プレーヤーに設定されている指定されたセレクター名とそれに紐づくラベル名の情報を削除します。 また削除後、Update(CriAtomExPlayback) 関数、UpdateAll() 関数を呼び出すことにより、 すでに再生中の音声に対してセレクター情報の削除が行えますが、再生中音声が停止することはありません。
See Also
Update(CriAtomExPlayback)
再生パラメーターの更新(再生ID指定)
Declaration
public void Update(CriAtomExPlayback id)
Parameters
Type | Name | Description |
---|---|---|
CriAtomExPlayback | id | 再生ID |
Remarks
説明: AtomExプレーヤーに設定されている再生パラメーター(AISACコントロール値を含む)を使用して、 再生IDによって指定された音声の再生パラメーターを更新します。
備考: 再生IDは、このAtomExプレーヤーで再生された音声を指している必要があります。
See Also
UpdateAll()
再生パラメーターの更新(再生中の音全て)
Declaration
public void UpdateAll()
Remarks
説明: AtomExプレーヤーに設定されている再生パラメーター(AISACコントロール値を含む)を使用して、 このAtomExプレーヤーで再生中の音全ての再生パラメーターを更新します。