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

音声再生を行うコンポーネントです。 [詳解]

CriAtomSource の継承関係図
CriAtomSourceBase

公開型

enum  Status {
  Stop, Prep, Playing, PlayEnd,
  Error
}
 CriAtomSourceの再生状態を示す値です。 [詳解]
 

公開メンバ関数

override CriAtomExPlayback Play ()
 設定されているキューを再生開始します。 [詳解]
 
CriAtomExPlayback Play (string cueName)
 指定したキュー名のキューを再生開始します。 [詳解]
 
CriAtomExPlayback Play (int cueId)
 指定したキューIDのキューを再生開始します。 [詳解]
 
void Stop ()
 再生を停止します。 [詳解]
 
void Pause (bool sw)
 一時停止/再開します。 [詳解]
 
bool IsPaused ()
 ポーズ状態の取得を行います。 [詳解]
 
void SetBusSendLevel (string busName, float level)
 バス名を指定してバスセンドレベルを設定します。 [詳解]
 
void SetBusSendLevel (int busId, float level)
 
void SetBusSendLevelOffset (string busName, float levelOffset)
 バス名を指定してバスセンドレベルをオフセット指定で設定します。 [詳解]
 
void SetBusSendLevelOffset (int busId, float levelOffset)
 
void SetAisacControl (string controlName, float value)
 AISACコントロール名を指定してAISACコントロール値を設定します。
 
void SetAisacControl (uint controlId, float value)
 AISACコントロール名を指定してAISACコントロール値を設定します。
 
void SetAisac (string controlName, float value)
 
void SetAisac (uint controlId, float value)
 
void AttachToAnalyzer (CriAtomExOutputAnalyzer analyzer)
 出力データの解析モジュールにアタッチします。
 
void DetachFromAnalyzer (CriAtomExOutputAnalyzer analyzer)
 出力データの解析モジュールからデタッチします。
 

限定公開メンバ関数

override void PlayOnStart ()
 設定されているキューを再生開始します。 [詳解]
 

プロパティ

string cueName [get, set]
 再生するキュー名を設定/取得します。 [詳解]
 
string cueSheet [get, set]
 キューシート名を設定/取得します。 [詳解]
 
CriAtomExPlayer player [get, protected set]
 内部で使用している CriAtomExPlayer です。 [詳解]
 
CriAtomEx3dSource source [get, protected set]
 内部で使用している CriAtomEx3dSource です。 [詳解]
 
bool playOnStart [get, set]
 実行開始時に再生するかどうかを設定/取得します。 [詳解]
 
bool use3dPositioning [get, set]
 3Dポジショニングを使用するかを設定します。 [詳解]
 
bool freezeOrientation [get, set]
 3D音源の向きを固定するかどうかを設定します。 [詳解]
 
bool use3dRandomization [get, set]
 3D音源の位置のランダム化を使用するかを設定します。 [詳解]
 
uint randomPositionListMaxLength [get, set]
 3D音源における位置のランダム化に関する座標リストの要素数の最大値を設定します。 [詳解]
 
CriAtomRegion region3d [get, set]
 音源の3Dリージョンの設定及び取得 [詳解]
 
CriAtomListener listener [get, set]
 音源のリスナーの設定及び取得 [詳解]
 
CriAtomRegion regionOnStart [get, set]
 初期リージョンを設定します。 [詳解]
 
CriAtomListener listenerOnStart [get, set]
 初期リスナーを設定します。 [詳解]
 
bool loop [get, set]
 ループ再生の切り替え [詳解]
 
float volume [get, set]
 ボリュームを設定/取得します。 [詳解]
 
float pitch [get, set]
 ピッチを設定/取得します。 [詳解]
 
float pan3dAngle [get, set]
 パンニング3D角度を設定/取得します。 [詳解]
 
float pan3dDistance [get, set]
 パンニング3D距離を設定/取得します。 [詳解]
 
int startTime [get, set]
 再生開始位置を設定/取得します。 [詳解]
 
long time [get]
 再生時刻(ミリ秒単位)を取得します。 [詳解]
 
Status status [get]
 ステータスを取得します。 [詳解]
 
bool attenuationDistanceSetting [get, set]
 距離減衰有効化設定を設定/取得します。 [詳解]
 
bool androidUseLowLatencyVoicePool [get, set]
 低遅延再生ボイスプールから再生を行うかどうかを設定/取得します。 [詳解]
 

詳解

音声再生を行うコンポーネントです。

説明:
任意のGameObjectに付加して使用します。
再生するキューが3Dポジショニングを行うように設定されている場合、3D再生を行います。 この際、 CriWare.CriAtomListener が付加されているGameObjectの位置との間で定位計算を行うため、 カメラやメインキャラクタに CriWare.CriAtomListener を付加しておく必要があります。
Public変数は基本的にUnityEditor上で設定します。

列挙型メンバ詳解

enum Status
stronginherited

CriAtomSourceの再生状態を示す値です。

説明:
CriAtomSource::status プロパティにより取得できます。
列挙値
Stop 

停止中

Prep 

再生準備中

Playing 

再生中

PlayEnd 

再生完了

Error 

エラーが発生

関数詳解

override CriAtomExPlayback Play ( )
inlinevirtual

設定されているキューを再生開始します。

戻り値
再生ID
説明:
どのキューを再生するかは、事前に CriWare.CriAtomSource.cueName プロパティにより設定しておく必要があります。

CriAtomSourceBaseを実装しています。

override void PlayOnStart ( )
inlineprotectedvirtual

設定されているキューを再生開始します。

説明:
事前に CriAtomSource::playOnStart, CriWare.CriAtomSource.cueName プロパティを設定しておく必要があります。

CriAtomSourceBaseを実装しています。

CriAtomExPlayback Play ( string  cueName)
inlineinherited

指定したキュー名のキューを再生開始します。

引数
cueNameキュー名
戻り値
再生ID
説明:
キュー指定用プロパティの設定に関わらず、本関数に指定したキュー名のキューを再生します。
CriAtomExPlayback Play ( int  cueId)
inlineinherited

指定したキューIDのキューを再生開始します。

引数
cueIdキューID
戻り値
再生ID
説明:
キュー指定用プロパティの設定に関わらず、本関数に指定したキューIDのキューを再生します。
void Stop ( )
inlineinherited

再生を停止します。

説明:
音声再生中の CriAtomSource コンポーネントに対して本関数を実行すると、 CriAtomSource コンポーネントは再生を停止(ファイルの読み込みや、発音を止める)し、 ステータスを停止状態( Stop )に遷移します。
既に停止している CriAtomSource コンポーネント(ステータスが Playend や Error の CriAtomSource コンポーネント ) に対して本関数を実行すると、 CriAtomSource コンポーネント のステータスを Stop に変更します。
注意:
音声再生中の CriAtomSource コンポーネントに対して本関数を実行した場合、ステータスが即座に Stop になるとは限りません。
(停止状態になるまでに、時間がかかる場合があります。)
void Pause ( bool  sw)
inlineinherited

一時停止/再開します。

引数
swTrue:一時停止、False:再開
説明:
再生のポーズ/ポーズ解除を行います。
sw に True を指定して本関数を実行すると、 CriAtomSource コンポーネントは再生中の音声をポーズ(一時停止)します。
sw に False を指定して本関数を実行すると、 CriAtomSource コンポーネントはポーズを解除し、一時停止していた音声の再生を再開します。
bool IsPaused ( )
inlineinherited

ポーズ状態の取得を行います。

戻り値
ポーズ状態
説明:
ポーズのON/OFFを取得します。
参照
CriAtomSource::Pause
void SetBusSendLevel ( string  busName,
float  level 
)
inlineinherited

バス名を指定してバスセンドレベルを設定します。

備考:
キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。
例えば、データ側のバスセンドレベルが0.8f、 CriAtomSource のバスセンドレベルが0.5fの場合、 実際に適用されるバスセンドレベルは0.4fになります。
void SetBusSendLevel ( int  busId,
float  level 
)
inlineinherited
非推奨:
削除予定の非推奨APIです。 CriAtomSource.SetBusSendLevel(string, float)の使用を検討してください。
void SetBusSendLevelOffset ( string  busName,
float  levelOffset 
)
inlineinherited

バス名を指定してバスセンドレベルをオフセット指定で設定します。

説明:
キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のバスセンドレベルが0.2f、 CriAtomSource のバスセンドレベルが0.5fの場合、 実際に適用されるバスセンドレベルは0.7fになります。
void SetBusSendLevelOffset ( int  busId,
float  levelOffset 
)
inlineinherited
非推奨:
削除予定の非推奨APIです。 CriAtomSource.SetBusSendLevelOffset(string, float)の使用を検討してください。
void SetAisac ( string  controlName,
float  value 
)
inlineinherited
非推奨:
削除予定の非推奨APIです。 CriAtomSourceBase.SetAisacControl の使用を検討してください。
void SetAisac ( uint  controlId,
float  value 
)
inlineinherited
非推奨:
削除予定の非推奨APIです。 CriAtomSourceBase.SetAisacControl の使用を検討してください。

プロパティ詳解

string cueName
getset

再生するキュー名を設定/取得します。

説明:
CriAtomSource::Play() 関数を呼び出した場合や、 CriAtomSource::playOnStart プロパティの設定により実行開始時に再生する場合には、 本プロパティで設定されているキューを再生します。
string cueSheet
getset

キューシート名を設定/取得します。

説明:
CriAtomSource::Play 関数や CriWare.CriAtomSource.cueName プロパティで指定したキューは、 本プロパティで設定されているキューシートから検索されます。
CriAtomExPlayer player
getprotected setinherited

内部で使用している CriAtomExPlayer です。

説明:
CriAtomExPlayer を直接制御する場合にはこのプロパティから CriAtomExPlayer を取得してください。
CriAtomEx3dSource source
getprotected setinherited

内部で使用している CriAtomEx3dSource です。

説明:
CriAtomEx3dSource を直接制御する場合にはこのプロパティから CriAtomEx3dSource を取得してください。
bool playOnStart
getsetinherited

実行開始時に再生するかどうかを設定/取得します。

説明:
Trueが設定されていると、実行開始時に再生を開始します。
備考:
再生開始が行われるタイミングは、MonoBehaviour::Start 関数が呼ばれるタイミングです。
注意:
WebGL などの非同期 ACB ロードが有効なプラットフォームで本フラグによる 実行開始時のキュー再生を行う場合は、必ずキューシート名を指定してください。
指定しない場合、ロード待ちを行うべきキューシートが特定できないため、 キューの再生に失敗します。
bool use3dPositioning
getsetinherited

3Dポジショニングを使用するかを設定します。

説明:

デフォルトの設定では、3Dポジショニングの使用は有効になっています。
本パラメータは任意のタイミングで切り替えることができます。
bool freezeOrientation
getsetinherited

3D音源の向きを固定するかどうかを設定します。

説明:

デフォルトの設定では、GameObjectの向きに従い3D音源の向きを設定します。
本パラメータをtrueに設定すると、音源の向きをそのタイミングの値に固定することができます。
bool use3dRandomization
getsetinherited

3D音源の位置のランダム化を使用するかを設定します。

説明:

デフォルトの設定では、音源位置のランダム化は無効になっています。
本パラメータは任意のタイミングで切り替えることができます。
uint randomPositionListMaxLength
getsetinherited

3D音源における位置のランダム化に関する座標リストの要素数の最大値を設定します。

説明:

デフォルトではリスト要素数の最大値が0になっています。
本パラメータはCriAtomSouceのAwakeが実行される前にしか変更できません。
CriAtomRegion region3d
getsetinherited

音源の3Dリージョンの設定及び取得

注意:
3Dポジショニングが無効の場合、リージョンの設定は行えません。
CriAtomListener listener
getsetinherited

音源のリスナーの設定及び取得

備考:
リスナーが設定されていない場合は音源に最も近いリスナーが利用されます。
注意:
3Dポジショニングが無効の場合、リスナーの設定は行えません。
CriAtomRegion regionOnStart
getsetinherited

初期リージョンを設定します。

説明:
Startが実行されるタイミングで適用するリージョンを設定します。
3Dポジショニング有効時にのみ適用されます。
空(null)の場合は適用されません。
CriAtomListener listenerOnStart
getsetinherited

初期リスナーを設定します。

説明:
Startが実行されるタイミングで適用するリスナーを設定します。
3Dポジショニング有効時にのみ適用されます。
空(null)の場合は適用されません。
備考:
リスナーが設定されていない場合は音源に最も近いリスナーが利用されます。
bool loop
getsetinherited

ループ再生の切り替え

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

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

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

本パラメータが評価されるのは、CriAtomSource コンポーネントのステータスが停止状態で、 CriAtomSource::Play 関数を呼び出した場合です。
float volume
getsetinherited

ボリュームを設定/取得します。

説明:
出力音声のボリューム(音量)を設定/取得します。
ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
ボリュームのデフォルト値は1.0fです。
備考:
キュー再生時、データ側にボリュームが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。
例えば、データ側のボリュームが0.8f、 CriAtomSource のボリュームが0.5fの場合、 実際に適用されるボリュームは0.4fになります。
float pitch
getsetinherited

ピッチを設定/取得します。

説明:
出力音声のピッチ(音の高さ)を設定/取得します。
ピッチはセント単位で指定します。
1セントは1オクターブの1/1200です。半音は100セントです。
例えば、100.0fを指定した場合、ピッチが半音上がります。-100.0fを指定した場合、ピッチが半音下がります。
ピッチのデフォルト値は0.0fです。
備考:
キュー再生時、データ側にピッチが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のピッチが-100.0f、 CriAtomSource のピッチが200.0fの場合、 実際に適用されるピッチは100.0fになります。
float pan3dAngle
getsetinherited

パンニング3D角度を設定/取得します。

説明:
パンニング3D角度を設定/取得します。
角度は度単位で指定します。
前方を0度とし、右方向(時計回り)に180.0f、左方向(反時計回り)に-180.0fまで設定できます。
例えば、45.0fを指定した場合、右前方45度に定位します。-45.0fを指定した場合、左前方45度に定位します。
備考:
キュー再生時、データ側にパンニング3D角度が設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のパンニング3D角度が15.0f、 CriAtomSource のパンニング3D角度が30.0fの場合、 実際に適用されるパンニング3D角度は45.0fになります。
実際に適用されるパンニング3D角度が180.0fを超える値になった場合、値を-360.0fして範囲内に納めます。
同様に、実際に適用されるボリューム値が-180.0f未満の値になった場合は、値を+360.0fして範囲内に納めます。
(+360.0f, -360.0fしても定位は変わらないため、実質的には-180.0f~180.0fの範囲を超えて設定可能です。)
float pan3dDistance
getsetinherited

パンニング3D距離を設定/取得します。

説明:
パンニング3Dでインテリアパンニングを行う際の距離を設定/取得します。
距離は、リスナー位置を0.0f、スピーカーの配置されている円周上を1.0fとして、-1.0f~1.0fの範囲で指定します。
負値を指定すると、パンニング3D角度が180度反転し、逆方向に定位します。
備考:
キュー再生時、データ側にパンニング3D距離が設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。
例えば、データ側のパンニング3D距離が0.8f、 CriAtomSource のパンニング3D距離が0.5fの場合、 実際に適用されるパンニング3D距離は0.4fになります。
実際に適用されるパンニング3D距離が1.0fを超える値になった場合、値は1.0fにクリップされます。
同様に、実際に適用されるパンニング3D距離が-1.0f未満の値になった場合も、値は-1.0fにクリップされます。
int startTime
getsetinherited

再生開始位置を設定/取得します。

説明:
再生を開始する位置を設定/取得します。 再生開始位置を設定すると、音声データを途中から再生することができます。
再生開始位置の指定はミリ秒単位で行います。例えば、 10000 を設定すると、 次に再生する音声データは 10 秒目の位置から再生されます。
備考:
音声データ途中からの再生は、音声データ先頭からの再生に比べ、発音開始の タイミングが遅くなります。
これは、一旦音声データのヘッダを解析後、指定位置にジャンプしてからデータを読み 直して再生を開始するためです。
注意:
再生開始位置を指定してシーケンスを再生した場合、指定位置よりも前に配置された 波形データは再生されません。
(シーケンス内の個々の波形が途中から再生されることはありません。)
long time
getinherited

再生時刻(ミリ秒単位)を取得します。

説明:
再生時刻が取得できている場合、本プロパティは 0 以上の値を示します。
再生時刻が取得できない場合(ボイスの取得に失敗した場合等)、本関数は負値を示します。
備考:
同一 CriAtomSource コンポーネントで複数の音声を再生した場合は、 "最後に"再生した音声の時刻を示します。
複数の音声に対して再生時刻をチェックする必要がある場合には、 再生する音声の数分だけ CriAtomSource コンポーネントを作成してください。

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

CriAtomSource::Pause 関数でポーズをかけた場合、 再生時刻のカウントアップも停止します。
(ポーズを解除すれば再度カウントアップが再開されます。)
注意:
戻り値の型はlongですが、現状、32bit以上の精度はありません。
再生時刻を元に制御を行う場合、約24日で再生時刻が異常になる点に注意が必要です。
( 2147483647 ミリ秒を超えた時点で、再生時刻がオーバーフローし、負値になります。)

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

ファイル読み込みが間に合わない等の理由により、一時的に音声データの供給が途切れた場合でも、 再生時刻のカウントアップが途切れることはありません。
(データ供給停止により再生が停止した場合でも、時刻は進み続けます。)
そのため、本関数で取得した時刻を元に映像との同期を行った場合、 データ供給不足が発生する度に同期が大きくズレる可能性があります。
Status status
getinherited

ステータスを取得します。

説明:
CriAtomSource コンポーネントのステータスを取得します。
ステータスは CriAtomSource コンポーネントの再生状態を示す値で、以下の5通りの値が存在します。
  1. Stop
  2. Prep
  3. Playing
  4. Playend
  5. Error


CriAtomSource コンポーネントが作成された時点では、 CriAtomSource コンポーネントのステータスは停止状態 ( Stop )です。
CriAtomSource.Play 関数等で再生開始すると、 CriAtomSource コンポーネントのステータスが準備状態 ( Prep )に変更されます。
( Prep は、データ供給やデコードの開始を待っている状態です。)
再生の開始に十分なデータが供給された時点で、 CriAtomSource コンポーネントはステータスを再生状態 ( Playing )に変更します。
尚、再生中にエラーが発生した場合には、 CriAtomSource コンポーネントはステータスをエラー状態 ( Error )に変更します。

CriAtomSource コンポーネントのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
bool attenuationDistanceSetting
getsetinherited

距離減衰有効化設定を設定/取得します。

説明:
距離減衰による音量の変動を有効にするか無効にするかを設定/取得します。
デフォルトは有効です。
bool androidUseLowLatencyVoicePool
getsetinherited

低遅延再生ボイスプールから再生を行うかどうかを設定/取得します。

説明:
Trueが設定されていると、低遅延再生ボイスプールを使って再生を開始します。
備考:
本フラグを有効にする場合は、CriWareInitializerの低遅延再生ボイスプール数を設定しておく必要があります。

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