CriAtomExPlayer API


構成

struct  CriAtomExPlayerConfigTag
 プレーヤー作成用コンフィグ構造体 [詳細]
struct  CriAtomExPlaybackTrackInfoTag
 再生トラック情報用Info構造体 [詳細]

マクロ定義

#define CRIATOMEXPLAYER_NO_GROUP_LIMITATION   (-1)
 グループ制限なし
#define CRIATOMEXPLAYER_NO_LOOP_LIMITATION   (CRIATOMPLAYER_NO_LOOP_LIMITATION)
 ループ回数制御用
#define CRIATOMEXPLAYER_MAX_ASR_RACKS   (8)
 プレーヤーに指定可能な最大ASRラック数
#define criAtomExPlayer_SetDefaultConfig(p_config)
 プレーヤー作成用コンフィグ構造体にデフォルト値をセット

型定義

typedef void(*) CriAtomExAsrBusFilterCbFunc (void *obj, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[])
 波形フィルターコールバック関数
typedef enum CriAtomExVoiceAllocationMethodTag CriAtomExVoiceAllocationMethod
 ボイス確保方式
typedef CriAtomExPlayerConfigTag CriAtomExPlayerConfig
 プレーヤー作成用コンフィグ構造体
typedef CriAtomExPlayerObj * CriAtomExPlayerHn
 プレーヤーハンドル
typedef enum CriAtomExPlayerStatusTag CriAtomExPlayerStatus
 プレーヤーステータス
typedef enum CriAtomExVoiceControlMethodTag CriAtomExVoiceControlMethod
 ボイス制御方式
typedef enum CriAtomExSpeakerIdTag CriAtomExSpeakerId
 スピーカーID
typedef CriUint32 CriAtomExPlaybackId
 再生ID
typedef void(CRIAPI *) CriAtomExPlayerDataRequestCbFunc (void *obj, CriAtomExPlaybackId id, CriAtomPlayerHn player)
 データ要求コールバック関数
typedef void(CRIAPI *) CriAtomExPlayerFilterCbFunc (void *obj, CriAtomExPlaybackId id, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[])
 波形フィルターコールバック関数
typedef void(CRIAPI *) CriAtomExPlayerBlockTransitionCbFunc (void *obj, CriAtomExPlaybackId id, CriAtomExBlockIndex index)
 ブロックトランジションコールバック関数
typedef CriAtomExPlaybackTrackInfoTag CriAtomExPlaybackTrackInfo
 再生トラック情報用Info構造体
typedef void(CRIAPI *) CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc (void *obj, const CriAtomExPlaybackTrackInfo *info)
 再生トラック情報取得コールバック関数
typedef enum CriAtomExParameterIdTag CriAtomExParameterId
 パラメーターID

列挙型

enum  CriAtomExVoiceAllocationMethodTag { CRIATOMEX_ALLOCATE_VOICE_ONCE = 0, CRIATOMEX_RETRY_VOICE_ALLOCATION }
 ボイス確保方式 [詳細]
enum  CriAtomExPlayerStatusTag {
  CRIATOMEXPLAYER_STATUS_STOP = 0, CRIATOMEXPLAYER_STATUS_PREP, CRIATOMEXPLAYER_STATUS_PLAYING, CRIATOMEXPLAYER_STATUS_PLAYEND,
  CRIATOMEXPLAYER_STATUS_ERROR
}
 プレーヤーステータス [詳細]
enum  CriAtomExVoiceControlMethodTag { CRIATOMEX_PREFER_LAST = 0, CRIATOMEX_PREFER_FIRST = 1, CRIATOMEX_PREFER_DATA = 2 }
 ボイス制御方式 [詳細]
enum  CriAtomExSpeakerIdTag {
  CRIATOMEX_SPEAKER_FRONT_LEFT = 0, CRIATOMEX_SPEAKER_FRONT_RIGHT = 1, CRIATOMEX_SPEAKER_FRONT_CENTER = 2, CRIATOMEX_SPEAKER_LOW_FREQUENCY = 3,
  CRIATOMEX_SPEAKER_SURROUND_LEFT = 4, CRIATOMEX_SPEAKER_SURROUND_RIGHT = 5, CRIATOMEX_SPEAKER_SURROUND_BACK_LEFT = 6, CRIATOMEX_SPEAKER_SURROUND_BACK_RIGHT = 7
}
 スピーカーID [詳細]
enum  CriAtomExParameterIdTag {
  CRIATOMEX_PARAMETER_ID_VOLUME = 0, CRIATOMEX_PARAMETER_ID_PITCH = 1, CRIATOMEX_PARAMETER_ID_PAN3D_ANGLE = 2, CRIATOMEX_PARAMETER_ID_PAN3D_DISTANCE = 3,
  CRIATOMEX_PARAMETER_ID_PAN3D_VOLUME = 4, CRIATOMEX_PARAMETER_ID_PAN_TYPE = 5, CRIATOMEX_PARAMETER_ID_PAN_SPEAKER_TYPE = 6, CRIATOMEX_PARAMETER_ID_PAN_CH0 = 7,
  CRIATOMEX_PARAMETER_ID_PAN_CH1 = 8, CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_0 = 9, CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_1 = 10, CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_2 = 11,
  CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_3 = 12, CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_4 = 13, CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_5 = 14, CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_6 = 15,
  CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_7 = 16, CRIATOMEX_PARAMETER_ID_BANDPASS_FILTER_COF_LOW = 17, CRIATOMEX_PARAMETER_ID_BANDPASS_FILTER_COF_HIGH = 18, CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_TYPE = 19,
  CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_FREQ = 20, CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_Q = 21, CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_GAIN = 22, CRIATOMEX_PARAMETER_ID_ENVELOPE_ATTACK_TIME = 23,
  CRIATOMEX_PARAMETER_ID_ENVELOPE_HOLD_TIME = 24, CRIATOMEX_PARAMETER_ID_ENVELOPE_DECAY_TIME = 25, CRIATOMEX_PARAMETER_ID_ENVELOPE_RELEASE_TIME = 26, CRIATOMEX_PARAMETER_ID_ENVELOPE_SUSTAIN_LEVEL = 27,
  CRIATOMEX_PARAMETER_ID_START_TIME = 28, CRIATOMEX_PARAMETER_ID_PRIORITY = 31, CRIATOMEX_PARAMETER_ID_SILENT_MODE = 32, CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_0 = 33,
  CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_1 = 34, CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_2 = 35, CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_3 = 36, CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_4 = 37,
  CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_5 = 38, CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_6 = 39, CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_7 = 40
}
 パラメーターID [詳細]

関数

CriSint32 CRIAPI criAtomExPlayer_CalculateWorkSize (const CriAtomExPlayerConfig *config)
 AtomExPlayer用ワーク領域サイズの計算
CriAtomExPlayerHn CRIAPI criAtomExPlayer_Create (const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
 AtomExPlayerの作成
void CRIAPI criAtomExPlayer_SetCueId (CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, CriAtomExCueId id)
 音声データのセット(キューID指定)
void CRIAPI criAtomExPlayer_SetCueName (CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, const CriChar8 *cue_name)
 音声データのセット(キュー名指定)
void CRIAPI criAtomExPlayer_SetCueIndex (CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, CriAtomExCueIndex index)
 音声データのセット(キューインデックス指定)
void CRIAPI criAtomExPlayer_SetData (CriAtomExPlayerHn player, void *buffer, CriSint32 size)
 音声データのセット(オンメモリデータの指定)
void CRIAPI criAtomExPlayer_SetFile (CriAtomExPlayerHn player, CriFsBinderHn binder, const CriChar8 *path)
 音声データのセット(ファイル名の指定)
void CRIAPI criAtomExPlayer_SetContentId (CriAtomExPlayerHn player, CriFsBinderHn binder, CriSint32 id)
 音声データのセット(CPKコンテンツIDの指定)
void CRIAPI criAtomExPlayer_SetWaveId (CriAtomExPlayerHn player, CriAtomAwbHn awb, CriAtomExWaveId id)
 音声データのセット(波形データIDの指定)
CriAtomExPlaybackId CRIAPI criAtomExPlayer_Start (CriAtomExPlayerHn player)
 再生の開始
CriAtomExPlaybackId CRIAPI criAtomExPlayer_Prepare (CriAtomExPlayerHn player)
 再生の準備
void CRIAPI criAtomExPlayer_Stop (CriAtomExPlayerHn player)
 再生の停止
void CRIAPI criAtomExPlayer_StopWithoutReleaseTime (CriAtomExPlayerHn player)
 再生の停止(リリースタイム無視)
void CRIAPI criAtomExPlayer_StopAllPlayers (void)
 全てのプレーヤーの再生を停止
void CRIAPI criAtomExPlayer_StopAllPlayersWithoutReleaseTime (void)
 全てのプレーヤーの再生を停止(リリースタイム無視)
void CRIAPI criAtomExPlayer_Pause (CriAtomExPlayerHn player, CriBool sw)
 ポーズ/ポーズ解除
void CRIAPI criAtomExPlayer_Resume (CriAtomExPlayerHn player, CriAtomExResumeMode mode)
 ポーズ解除
CriBool CRIAPI criAtomExPlayer_IsPaused (CriAtomExPlayerHn player)
 ポーズ状態の取得
CriAtomExPlayerStatus CRIAPI criAtomExPlayer_GetStatus (CriAtomExPlayerHn player)
 ステータスの取得
CriSint32 CRIAPI criAtomExPlayer_GetNumPlaybacks (CriAtomExPlayerHn player)
 再生中の音声数の取得
CriAtomExPlaybackId CRIAPI criAtomExPlayer_GetLastPlaybackId (CriAtomExPlayerHn player)
 最終再生IDの取得
CriSint64 CRIAPI criAtomExPlayer_GetTime (CriAtomExPlayerHn player)
 再生時刻の取得
void CRIAPI criAtomExPlayer_SetFormat (CriAtomExPlayerHn player, CriAtomExFormat format)
 フォーマットの指定
void CRIAPI criAtomExPlayer_SetNumChannels (CriAtomExPlayerHn player, CriSint32 num_channels)
 チャンネル数の指定
void CRIAPI criAtomExPlayer_SetSamplingRate (CriAtomExPlayerHn player, CriSint32 sampling_rate)
 サンプリングレートの指定
void CRIAPI criAtomExPlayer_SetSoundRendererType (CriAtomExPlayerHn player, CriAtomSoundRendererType type)
 サウンドレンダラタイプの指定
void CRIAPI criAtomExPlayer_SetGroupNumber (CriAtomExPlayerHn player, CriSint32 group_no)
 グループ番号の指定
void CRIAPI criAtomExPlayer_SetVoiceControlMethod (CriAtomExPlayerHn player, CriAtomExVoiceControlMethod method)
 ボイス制御方法の指定
void CRIAPI criAtomExPlayer_SetVoicePoolIdentifier (CriAtomExPlayerHn player, CriAtomExVoicePoolIdentifier identifier)
 ボイスプール識別子の指定
void CRIAPI criAtomExPlayer_SetHcaMxMixerId (CriAtomExPlayerHn player, CriSint32 mixer_id)
 HCAデコード先ミキサIDの指定
void CRIAPI criAtomExPlayer_SetAsrRackId (CriAtomExPlayerHn player, CriSint32 rack_id)
 ASRラックIDの指定
void CRIAPI criAtomExPlayer_SetAsrRackIdArray (CriAtomExPlayerHn player, const CriSint32 *rack_id_array, CriSint32 num_racks)
 複数のASRラックIDの指定
void CRIAPI criAtomExPlayer_SetStartTime (CriAtomExPlayerHn player, CriSint64 start_time_ms)
 再生開始位置の指定
void CRIAPI criAtomExPlayer_SetSyncPlaybackId (CriAtomExPlayerHn player, CriAtomExPlaybackId playback_id)
 同期再生IDの設定
void CRIAPI criAtomExPlayer_SetPlaybackRatio (CriAtomExPlayerHn player, CriFloat32 playback_ratio)
 シーケンス再生レシオの設定
void CRIAPI criAtomExPlayer_LimitLoopCount (CriAtomExPlayerHn player, CriSint32 count)
 ループ回数の制限
void CRIAPI criAtomExPlayer_UpdateAll (CriAtomExPlayerHn player)
 再生パラメーターの更新(再生中の音全て)
void CRIAPI criAtomExPlayer_Update (CriAtomExPlayerHn player, CriAtomExPlaybackId id)
 再生パラメーターの更新(再生ID指定)
void CRIAPI criAtomExPlayer_ResetParameters (CriAtomExPlayerHn player)
 再生パラメーターの初期化
CriFloat32 CRIAPI criAtomExPlayer_GetParameterFloat32 (CriAtomExPlayerHn player, CriAtomExParameterId id)
 パラメーターの取得(浮動小数点数)
CriUint32 CRIAPI criAtomExPlayer_GetParameterUint32 (CriAtomExPlayerHn player, CriAtomExParameterId id)
 パラメーターの取得(符号なし整数)
CriSint32 CRIAPI criAtomExPlayer_GetParameterSint32 (CriAtomExPlayerHn player, CriAtomExParameterId id)
 パラメーターの取得(符号付き整数)
void CRIAPI criAtomExPlayer_SetVolume (CriAtomExPlayerHn player, CriFloat32 volume)
 ボリュームの設定
void CRIAPI criAtomExPlayer_SetPitch (CriAtomExPlayerHn player, CriFloat32 pitch)
 ピッチの設定
void CRIAPI criAtomExPlayer_SetMaxPitch (CriAtomExPlayerHn player, CriFloat32 pitch)
 最大ピッチの設定
void CRIAPI criAtomExPlayer_SetPan3dAngle (CriAtomExPlayerHn player, CriFloat32 pan3d_angle)
 パンニング3D角度の設定
void CRIAPI criAtomExPlayer_SetPan3dInteriorDistance (CriAtomExPlayerHn player, CriFloat32 pan3d_interior_distance)
 パンニング3D距離の設定
void CRIAPI criAtomExPlayer_SetPan3dVolume (CriAtomExPlayerHn player, CriFloat32 pan3d_volume)
 パンニング3Dボリュームの設定
void CRIAPI criAtomExPlayer_SetPanType (CriAtomExPlayerHn player, CriAtomExPanType pan_type)
 パンタイプの設定
void CRIAPI criAtomExPlayer_SetPanSpeakerType (CriAtomExPlayerHn player, CriAtomExPanSpeakerType pan_speaker_type)
 パンニング時の出力スピーカータイプ設定
void CRIAPI criAtomExPlayer_AddMixDownCenterVolumeOffset (CriAtomExPlayerHn player, CriFloat32 mixdown_center_volume_offset)
 MixDownCenterボリュームオフセット値の設定
void CRIAPI criAtomExPlayer_AddMixDownLfeVolumeOffset (CriAtomExPlayerHn player, CriFloat32 mixdown_lfe_volume_offset)
 MixDownLFEボリュームオフセット値の設定
void CRIAPI criAtomExPlayer_ChangeDefaultPanSpeakerType (CriAtomExPanSpeakerType pan_speaker_type)
 パンニング時の出力スピーカータイプ設定のデフォルト値変更
void CRIAPI criAtomExPlayer_SetPanAngleType (CriAtomExPlayerHn player, CriAtomExPanAngleType pan_angle_type)
 パンニング時の角度タイプ設定
void CRIAPI criAtomExPlayer_SetPanSpread (CriAtomExPlayerHn player, CriFloat32 spread)
 パンニング時の音の広がり設定
void CRIAPI criAtomExPlayer_SetSendLevel (CriAtomExPlayerHn player, CriSint32 ch, CriAtomExSpeakerId spk, CriFloat32 level)
 センドレベルの設定
void CRIAPI criAtomExPlayer_SetBusSendLevelByName (CriAtomExPlayerHn player, const CriChar8 *bus_name, CriFloat32 level)
 バスセンドレベルの設定
void CRIAPI criAtomExPlayer_SetBusSendLevelOffsetByName (CriAtomExPlayerHn player, const CriChar8 *bus_name, CriFloat32 level_offset)
 バスセンドレベルの設定(オフセット指定)
void CRIAPI criAtomExPlayer_SetPanAdx1Compatible (CriAtomExPlayerHn player, CriSint32 ch, CriFloat32 pan)
 ADX1互換のパンの設定
void CRIAPI criAtomExPlayer_SetBandpassFilterParameters (CriAtomExPlayerHn player, CriFloat32 cof_low, CriFloat32 cof_high)
 バンドパスフィルターのパラメーター設定
void CRIAPI criAtomExPlayer_SetBiquadFilterParameters (CriAtomExPlayerHn player, CriAtomExBiquadFilterType type, CriFloat32 frequency, CriFloat32 gain, CriFloat32 q_value)
 バイクアッドフィルターのパラメーター設定
void CRIAPI criAtomExPlayer_SetVoicePriority (CriAtomExPlayerHn player, CriSint32 priority)
 ボイスプライオリティの設定
void CRIAPI criAtomExPlayer_SetAisacControlById (CriAtomExPlayerHn player, CriAtomExAisacControlId control_id, CriFloat32 control_value)
 AISACコントロール値の設定(コントロールID指定)
void CRIAPI criAtomExPlayer_SetAisacControlByName (CriAtomExPlayerHn player, const CriChar8 *control_name, CriFloat32 control_value)
 AISACコントロール値の設定(コントロール名指定)
void CRIAPI criAtomExPlayer_ClearAisacControls (CriAtomExPlayerHn player)
 プレーヤーに設定されているAISACコントロール値の削除
void CRIAPI criAtomExPlayer_Set3dSourceHn (CriAtomExPlayerHn player, CriAtomEx3dSourceHn source)
 3D音源ハンドルの設定
void CRIAPI criAtomExPlayer_Set3dSourceListHn (CriAtomExPlayerHn player, CriAtomEx3dSourceListHn source_list)
 3D音源ハンドルリストの設定
void CRIAPI criAtomExPlayer_Set3dListenerHn (CriAtomExPlayerHn player, CriAtomEx3dListenerHn listener)
 3Dリスナーハンドルの設定
CriFloat32 CRIAPI criAtomExPlayer_GetAisacControlById (CriAtomExPlayerHn player, CriAtomExAisacControlId control_id)
 AISACコントロール値の取得(コントロールID指定)
CriFloat32 CRIAPI criAtomExPlayer_GetAisacControlByName (CriAtomExPlayerHn player, const CriChar8 *control_name)
 AISACコントロール値の取得(コントロール名指定)
void CRIAPI criAtomExPlayer_SetCategoryById (CriAtomExPlayerHn player, CriUint32 category_id)
 カテゴリの設定(ID指定)
void CRIAPI criAtomExPlayer_SetCategoryByName (CriAtomExPlayerHn player, const CriChar8 *category_name)
 カテゴリの設定(カテゴリ名指定)
void CRIAPI criAtomExPlayer_UnsetCategory (CriAtomExPlayerHn player)
 カテゴリの削除
CriSint32 CRIAPI criAtomExPlayer_GetNumCategories (CriAtomExPlayerHn player)
 カテゴリ数の取得
CriBool CRIAPI criAtomExPlayer_GetCategoryInfo (CriAtomExPlayerHn player, CriUint16 index, CriAtomExCategoryInfo *info)
 カテゴリ情報の取得(インデックス指定)
void CRIAPI criAtomExPlayer_SetTrackInfo (CriAtomExPlayerHn player, CriSint32 num_tracks, const CriSint32 *channels_per_track)
 トラック情報の指定
void CRIAPI criAtomExPlayer_SetTrackVolume (CriAtomExPlayerHn player, CriSint32 track_no, CriFloat32 volume)
 トラックのボリューム設定
void CRIAPI criAtomExPlayer_SetSilentMode (CriAtomExPlayerHn player, CriAtomExSilentMode silent_mode)
 無音時処理モードの設定
void CRIAPI criAtomExPlayer_SetCuePriority (CriAtomExPlayerHn player, CriSint32 cue_priority)
 キュープライオリティの設定
void CRIAPI criAtomExPlayer_SetPreDelayTime (CriAtomExPlayerHn player, CriFloat32 predelay_time_ms)
 プリディレイタイムの設定
void CRIAPI criAtomExPlayer_SetEnvelopeAttackTime (CriAtomExPlayerHn player, CriFloat32 attack_time_ms)
 エンベロープのアタックタイムの設定
void CRIAPI criAtomExPlayer_SetEnvelopeHoldTime (CriAtomExPlayerHn player, CriFloat32 hold_time_ms)
 エンベロープのホールドタイムの設定
void CRIAPI criAtomExPlayer_SetEnvelopeDecayTime (CriAtomExPlayerHn player, CriFloat32 decay_time_ms)
 エンベロープのディケイタイムの設定
void CRIAPI criAtomExPlayer_SetEnvelopeReleaseTime (CriAtomExPlayerHn player, CriFloat32 release_time_ms)
 エンベロープのリリースタイムの設定
void CRIAPI criAtomExPlayer_SetEnvelopeSustainLevel (CriAtomExPlayerHn player, CriFloat32 susutain_level)
 エンベロープのサスティンレベルの設定
void CRIAPI criAtomExPlayer_SetDataRequestCallback (CriAtomExPlayerHn player, CriAtomExPlayerDataRequestCbFunc func, void *obj)
 データ要求コールバック関数の登録
void CRIAPI criAtomExPlayer_SetFilterCallback (CriAtomExPlayerHn player, CriAtomExPlayerFilterCbFunc func, void *obj)
 波形フィルターコールバック関数の登録
void CRIAPI criAtomExPlayer_SetRandomSeed (CriAtomExPlayerHn player, CriUint32 seed)
 乱数種の設定
void CRIAPI criAtomExPlayer_SetDspParameter (CriAtomExPlayerHn player, CriSint32 param_id, CriFloat32 param_val)
 DSPパラメーターの設定
void CRIAPI criAtomExPlayer_AttachAisac (CriAtomExPlayerHn player, const CriChar8 *global_aisac_name)
 プレーヤーにAISACを取り付ける
void CRIAPI criAtomExPlayer_DetachAisac (CriAtomExPlayerHn player, const CriChar8 *global_aisac_name)
 プレーヤーからAISACを取り外す
void CRIAPI criAtomExPlayer_DetachAisacAll (CriAtomExPlayerHn player)
 プレーヤーから全てのAISACを取り外す
CriSint32 CRIAPI criAtomExPlayer_GetNumAttachedAisacs (CriAtomExPlayerHn player)
 プレーヤーにアタッチされているAISAC数を取得する
CriBool CRIAPI criAtomExPlayer_GetAttachedAisacInfo (CriAtomExPlayerHn player, CriSint32 aisac_attached_index, CriAtomExAisacInfo *aisac_info)
 プレーヤーにアタッチされているAISACの情報を取得する
void CRIAPI criAtomExPlayer_SetStreamingCacheId (CriAtomExPlayerHn player, CriAtomExStreamingCacheId cache_id)
 プレーヤーにストリーミングキャッシュを設定します
void CRIAPI criAtomExPlayer_AttachTween (CriAtomExPlayerHn player, CriAtomExTweenHn tween)
 プレーヤーにトゥイーンを取り付ける
void CRIAPI criAtomExPlayer_DetachTween (CriAtomExPlayerHn player, CriAtomExTweenHn tween)
 プレーヤーからトゥイーンを取り外す
void CRIAPI criAtomExPlayer_DetachTweenAll (CriAtomExPlayerHn player)
 プレーヤーから全てのトゥイーンを取り外す
void CRIAPI criAtomExPlayer_SetFirstBlockIndex (CriAtomExPlayerHn player, CriAtomExBlockIndex index)
 再生開始ブロックのセット(ブロックインデックス指定)
void CRIAPI criAtomExPlayer_SetBlockTransitionCallback (CriAtomExPlayerHn player, CriAtomExPlayerBlockTransitionCbFunc func, void *obj)
 ブロックトランジションコールバック関数の登録
CriAtomExSoundObjectHn CRIAPI criAtomExPlayer_GetSoundObject (CriAtomExPlayerHn player)
 サウンドオブジェクトの取得
void CRIAPI criAtomExPlayer_SetDrySendLevel (CriAtomExPlayerHn player, CriAtomExSpeakerId spk, CriFloat32 offset, CriFloat32 gain)
 ドライセンドレベルの設定(CRI Audio互換用)
void CRIAPI criAtomExPlayer_SetSelectorLabel (CriAtomExPlayerHn player, const CriChar8 *selector, const CriChar8 *label)
 セレクター情報のプレーヤーへの設定
void CRIAPI criAtomExPlayer_ClearSelectorLabels (CriAtomExPlayerHn player)
 プレーヤーに設定されているセレクター情報の削除
void CRIAPI criAtomExPlayer_SetPlaybackTrackInfoNotificationCallback (CriAtomExPlayerHn player, CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc func, void *obj)
 再生トラック番号通知コールバック関数の登録
void CRIAPI criAtomExPlayer_SetPlaybackEventCallback (CriAtomExPlayerHn player, CriAtomExPlaybackEventCbFunc func, void *obj)

マクロ定義

#define CRIATOMEXPLAYER_NO_GROUP_LIMITATION   (-1)

グループ制限なし

説明:
ボイスリミットグループによる制限を解除するための定数です。
criAtomExPlayer_SetGroupNumber 関数に対してこの値を指定すると、 指定されたプレーヤーはボイスリミットグループによる制限を受けなくなります。
(空きボイスがあるか、または自身より低プライオリティのボイスがあれば、 ボイスリミットグループに関係なくボイスを取得します。)
参照:
criAtomExPlayer_SetGroupNumber

#define CRIATOMEXPLAYER_NO_LOOP_LIMITATION   (CRIATOMPLAYER_NO_LOOP_LIMITATION)

ループ回数制御用

説明:ループ回数制限なし

#define CRIATOMEXPLAYER_MAX_ASR_RACKS   (8)

プレーヤーに指定可能な最大ASRラック数

説明:
1つのプレーヤーに対して指定可能なASRラックの最大数です。
参照:
criAtomExPlayer_SetAsrRackIdArray

#define criAtomExPlayer_SetDefaultConfig ( p_config   ) 

値:

{\
    (p_config)->voice_allocation_method = CRIATOMEX_ALLOCATE_VOICE_ONCE;\
    (p_config)->max_path_strings = 1;\
    (p_config)->max_path = 0;\
    (p_config)->updates_time = CRI_TRUE;\
    (p_config)->enable_audio_synced_timer = CRI_FALSE;\
    (p_config)->max_aisacs = 8;\
}
プレーヤー作成用コンフィグ構造体にデフォルト値をセット

引数:
[out] p_config AtomExプレーヤー作成用コンフィグ構造体へのポインタ
説明:
criAtomExPlayer_Create 関数に設定するコンフィグ構造体 ( CriAtomExPlayerConfig )に、デフォルトの値をセットします。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create


型定義

typedef void(*) CriAtomExAsrBusFilterCbFunc(void *obj, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[])

波形フィルターコールバック関数

説明:
引数:
[in] obj ユーザ指定オブジェクト
[in] format PCMの形式
[in] num_channels チャンネル数
[in] num_samples サンプル数
[in,out] data PCMデータのチャンネル配列
戻り値:
なし
説明:
バスに登録することができる PCM データを受け取るコールバック関数です。

コールバック関数の登録には criAtomExAsr_SetBusFilterCallback 関数を使用します。
コールバック関数を登録すると、サウンドレンダラが音声処理を行う度に、 コールバック関数が実行されるようになります。

フィルターコールバック関数には、 PCM データのフォーマットやチャンネル数、 参照可能なサンプル数、 PCM データを格納した領域のアドレスが返されます。
コールバック内では PCM データの値を直接参照可能になるので、 再生中の音声の振幅をチェックするといった用途に利用可能です。

また、コールバック関数内で PCM データを加工すると、再生音に反映されるため、 PCM データに対してユーザ独自のエフェクトをかけることも可能です。
(ただし、タイムストレッチ処理のようなデータ量が増減する加工を行うことはできません。)
備考:
PCM データはチャンネル単位で分離されています。
(インターリーブされていません。)
サンプル数は32の倍数で、下限は32、上限は256となります。
また、サンプル数はプラットフォームデバイスの出力の進捗に応じて変化します。
第 6 引数( data 配列)には、各チャンネルの PCM データ配列の先頭アドレスが格納されています。
(二次元配列の先頭アドレスではなく、チャンネルごとの PCM データ配列の先頭アドレスを格納した 一次元のポインタ配列です。)
格納されてくる PCM データはバスに設定されているエフェクトの処理後の音声です。

プラットフォームによって、 PCM データのフォーマットは異なります。
実行環境のデータフォーマットについては、第 3 引数( format )で判別可能です。
PCM データのフォーマットが 16 bit 整数型の場合、 format は CRIATOM_PCM_FORMAT_SINT16 となり、 PCM データのフォーマットが 32 bit 浮動小数点数型の場合、 format は CRIATOM_PCM_FORMAT_FLOAT32 となります。
それぞれのケースで PCM データの値域は異なりますのでご注意ください。
  • CRIATOM_PCM_FORMAT_SINT16 時は -32768 〜 +32767
  • CRIATOM_PCM_FORMAT_FLOAT32 時は -1.0f 〜 +1.0f
(多重音声のミキシングや前段のエフェクトによっては上記範囲を超えた値が出る可能性があります。)
注意:

本コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生する可能性があります。
参照:
criAtomExAsr_SetBusFilterCallback

typedef enum CriAtomExVoiceAllocationMethodTag CriAtomExVoiceAllocationMethod

ボイス確保方式

説明:
AtomEx プレーヤーがボイスを確保する際の動作仕様を指定するためのデータ型です。
AtomEx プレーヤーを作成する際、 CriAtomExPlayerConfig 構造体のメンバに指定します。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create

typedef struct CriAtomExPlayerConfigTag CriAtomExPlayerConfig

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

説明:
AtomExプレーヤーを作成する際に、動作仕様を指定するための構造体です。
criAtomExPlayer_Create 関数の引数に指定します。

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

typedef CriAtomExPlayerObj* CriAtomExPlayerHn

プレーヤーハンドル

説明:
CriAtomExPlayerHn は、音声再生用に作られたプレーヤーを操作するためのハンドルです。
criAtomExPlayer_Create 関数で音声再生用のプレーヤーを作成すると、 関数はプレーヤー操作用に、この"AtomExプレーヤーハンドル"を返します。
データのセットや再生の開始、ステータスの取得等、プレーヤーに対して行う操作は、 全てAtomExプレーヤーハンドルを介して実行されます。
参照:
criAtomExPlayer_Create

typedef enum CriAtomExPlayerStatusTag CriAtomExPlayerStatus

プレーヤーステータス

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

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

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

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

typedef enum CriAtomExVoiceControlMethodTag CriAtomExVoiceControlMethod

ボイス制御方式

説明:
AtomExプレーヤーで再生する音声の発音制御方法を指定するためのデータ型です。
criAtomExPlayer_SetVoiceControlMethod 関数で利用します。
参照:
criAtomExPlayer_SetVoiceControlMethod

typedef enum CriAtomExSpeakerIdTag CriAtomExSpeakerId

スピーカーID

説明:
音声を出力するスピーカーを指定するためのIDです。
criAtomExPlayer_SetSendLevel 関数で利用します。
参照:
criAtomExPlayer_SetSendLevel

typedef CriUint32 CriAtomExPlaybackId

再生ID

説明:
criAtomExPlayer_Start 関数実行時に返されるIDです。
プレーヤー単位ではなく、 criAtomExPlayer_Start 関数で再生した個々の音声に対して パラメーター変更や状態取得を行いたい場合、本IDを使用して制御を行う必要があります。
無効な再生IDはCRIATOMEX_INVALID_PLAYBACK_IDです。
参照:
criAtomExPlayer_Start, criAtomExPlayback_GetStatus, CRIATOMEX_INVALID_PLAYBACK_ID

typedef void(CRIAPI *) CriAtomExPlayerDataRequestCbFunc(void *obj, CriAtomExPlaybackId id, CriAtomPlayerHn player)

データ要求コールバック関数

説明:
引数:
[in] obj ユーザ指定オブジェクト
[in] id 再生ID
[in] player Atomプレーヤーハンドル
戻り値:
なし
説明:
次に再生するデータを指定するためのコールバック関数です。
複数の音声データをシームレスに連結して再生する際に使用します。

コールバック関数の登録には criAtomExPlayer_SetDataRequestCallback 関数を使用します。
登録したコールバック関数は、ボイスが内部的に使用している Atom プレーヤーが 連結再生用のデータを要求するタイミングで実行されます。
(前回のデータを読み込み終えて、次に再生すべきデータを要求するタイミングで コールバック関数が実行されます。)

コールバック関数内で criAtomPlayer_SetData 関数等を用いて Atom プレーヤーにデータをセットすると、 セットされたデータは現在再生中のデータに続いてシームレスに連結されて再生されます。
また、本関数内で criAtomPlayer_SetPreviousDataAgain 関数を実行することで、 同一データを繰り返し再生し続けることも可能です。
備考:
本関数内でデータを指定しなかった場合、現在のデータを再生し終えた時点で、 AtomEx プレーヤーのステータスが CRIATOMEXPLAYER_STATUS_PLAYEND に遷移します。

タイミング等の問題により、データを指定することができないが、ステータスを CRIATOMEXPLAYER_STATUS_PLAYEND に遷移させたくない場合には、コールバック関数内で criAtomPlayer_DeferCallback 関数を実行してください。
criAtomPlayer_DeferCallback 関数を実行することで、約1V後に再度データ要求 コールバック関数が呼び出されます。(コールバック処理をリトライ可能。)
ただし、 criAtomPlayer_DeferCallback 関数を実行した場合、再生が途切れる (連結箇所に一定時間無音が入る)可能性があります。
注意:
本コールバックの第 3 引数( player )は、 AtomEx プレーヤーではなく、 下位レイヤの Atom プレーヤーです。
( AtomExPlayerHn にキャストすると、アクセス違反等の重大な不具合が発生します。)

複数の波形データを含むキューを再生した場合、 最初に見つかった波形データの再生が終了するタイミングでコールバック関数が実行されます。
そのため、複数の波形データを含むキューに対して連結再生の操作を行った場合、 意図としない組み合わせで波形が連結再生される可能性があります。
本機能を使用する際には、 1 つの波形データのみを含むキューを再生するか、 またはファイルやオンメモリデータ等を再生してください。

現状、コールバックは波形データを再生し始めたボイスに対してのみ割り当てられます。
そのため、波形データ再生後にボイスがバーチャル化した場合、コールバックは実行されません。
(データ終端に到達した時点で、コールバックが実行されずにPLAYEND状態に遷移します。)

本コールバック関数内で、シームレス連結再生以外の制御を行わないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で実行可能なAPIは、以下のとおりです。
  • criAtomExAcb_GetWaveformInfoById(引数のNULL指定は不可)
  • criAtomExAcb_GetWaveformInfoByName(引数のNULL指定は不可)
  • criAtomExAcb_GetOnMemoryAwbHandle
  • criAtomExAcb_GetStreamingAwbHandle
  • criAtomPlayer_SetData
  • criAtomPlayer_SetFile
  • criAtomPlayer_SetContentId
  • criAtomPlayer_SetWaveId
  • criAtomPlayer_SetPreviousDataAgain
  • criAtomPlayer_DeferCallback

本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照:
criAtomExPlayer_SetDataRequestCallback, criAtomPlayer_SetData, criAtomPlayer_SetPreviousDataAgain, criAtomPlayer_DeferCallback

typedef void(CRIAPI *) CriAtomExPlayerFilterCbFunc(void *obj, CriAtomExPlaybackId id, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[])

波形フィルターコールバック関数

説明:
引数:
[in] obj ユーザ指定オブジェクト
[in] id 再生ID
[in] format PCMの形式
[in] num_channels チャンネル数
[in] num_samples サンプル数
[in,out] data PCMデータのチャンネル配列
戻り値:
なし
説明:
デコード結果の PCM データを受け取るコールバック関数です。

コールバック関数の登録には criAtomExPlayer_SetFilterCallback 関数を使用します。
コールバック関数を登録すると、ボイスが音声データをデコードする度に、 コールバック関数が実行されるようになります。

フィルターコールバック関数には、 PCM データのフォーマットやチャンネル数、 参照可能なサンプル数、 PCM データを格納した領域のアドレスが返されます。
コールバック内では PCM データの値を直接参照可能になるので、 再生中の音声の振幅をチェックするといった用途に利用可能です。

また、コールバック関数内で PCM データを加工すると、再生音に反映されるため、 PCM データに対してユーザ独自のエフェクトをかけることも可能です。
(ただし、タイムストレッチ処理のようなデータ量が増減する加工を行うことはできません。)
備考:
PCM データはチャンネル単位で分離されています。
(インターリーブされていません。)
第 6 引数( data 配列)には、各チャンネルの PCM データ配列の先頭アドレスが格納されています。
(二次元配列の先頭アドレスではなく、チャンネルごとの PCM データ配列の先頭アドレスを格納した 一次元のポインタ配列です。)

プラットフォームによって、 PCM データのフォーマットは異なります。
実行環境のデータフォーマットについては、第 3 引数( format )で判別可能です。
PCM データのフォーマットが 16 bit 整数型の場合、 format は CRIATOM_PCM_FORMAT_SINT16 となり、 PCM データのフォーマットが 32 bit 浮動小数点数型の場合、 format は CRIATOM_PCM_FORMAT_FLOAT32 となります。
それぞれのケースで PCM データの値域は異なりますのでご注意ください。
  • CRIATOM_PCM_FORMAT_SINT16 時は -32768 〜 +32767
  • CRIATOM_PCM_FORMAT_FLOAT32 時は -1.0f 〜 +1.0f
(デコード時点ではクリッピングが行われていないため、 CRIATOM_PCM_FORMAT_FLOAT32 時は上記範囲をわずかに超えた値が出る可能性があります。)
注意:

本コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生する可能性があります。
参照:
criAtomExPlayer_SetFilterCallback

typedef void(CRIAPI *) CriAtomExPlayerBlockTransitionCbFunc(void *obj, CriAtomExPlaybackId id, CriAtomExBlockIndex index)

ブロックトランジションコールバック関数

説明:
引数:
[in] obj ユーザ指定オブジェクト
[in] id 再生ID
[in] index キュー内のブロックインデックス値
戻り値:
なし
説明:
ブロックシーケンス再生時にブロックトランジションが発生したときに呼び出されるコールバック関数です。

コールバック関数の登録には criAtomExPlayer_SetBlockTransitionCallback 関数を使用します。
コールバック関数を登録すると、ブロックトランジションが発生する度に、 コールバック関数が実行されるようになります。

注意:

本コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生する可能性があります。
参照:
criAtomExPlayer_SetBlockTransitionCallback

typedef void(CRIAPI *) CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc(void *obj, const CriAtomExPlaybackTrackInfo *info)

再生トラック情報取得コールバック関数

説明:
引数:
[in] obj ユーザ指定オブジェクト
[in] index 再生トラック情報
戻り値:
なし
説明:
ポリフォニックタイプ、トラック遷移タイプ以外のキュー再生時に再生したトラック情報を通知するコールバック関数です。

コールバック関数の登録には criAtomExPlayer_SetPlaybackTrackInfoNotificationCallback 関数を使用します。

注意:

本コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生する可能性があります。
参照:
criAtomExPlayer_SetPlaybackTrackInfoNotificationCallback

typedef enum CriAtomExParameterIdTag CriAtomExParameterId

パラメーターID

説明:
パラメーターを指定するためのIDです。
criAtomExPlayer_GetParameterFloat32 関数等で利用します。
参照:
criAtomExPlayer_GetParameterFloat32, criAtomExPlayer_GetParameterSint32, criAtomExPlayer_GetParameterUint32


列挙型

enum CriAtomExVoiceAllocationMethodTag

ボイス確保方式

説明:
AtomEx プレーヤーがボイスを確保する際の動作仕様を指定するためのデータ型です。
AtomEx プレーヤーを作成する際、 CriAtomExPlayerConfig 構造体のメンバに指定します。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create
列挙型の値:
CRIATOMEX_ALLOCATE_VOICE_ONCE  ボイスの確保は1回限り
CRIATOMEX_RETRY_VOICE_ALLOCATION  ボイスを繰り返し確保する

enum CriAtomExPlayerStatusTag

プレーヤーステータス

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

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

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

再生中に不正なデータを読み込んだ場合や、ファイルアクセスに失敗した場合、 ステータスは CRIATOMEXPLAYER_STATUS_ERROR に遷移します。
複数の音声を再生中にある音声でエラーが発生した場合、プレーヤーのステータスは 他の音声の状態に関係なく、 CRIATOMEXPLAYER_STATUS_ERROR に遷移します。
参照:
criAtomExPlayer_GetStatus, criAtomExPlayer_SetData, criAtomExPlayer_Start, criAtomExPlayer_Stop
列挙型の値:
CRIATOMEXPLAYER_STATUS_STOP  停止中
CRIATOMEXPLAYER_STATUS_PREP  再生準備中
CRIATOMEXPLAYER_STATUS_PLAYING  再生中
CRIATOMEXPLAYER_STATUS_PLAYEND  再生完了
CRIATOMEXPLAYER_STATUS_ERROR  エラーが発生

enum CriAtomExVoiceControlMethodTag

ボイス制御方式

説明:
AtomExプレーヤーで再生する音声の発音制御方法を指定するためのデータ型です。
criAtomExPlayer_SetVoiceControlMethod 関数で利用します。
参照:
criAtomExPlayer_SetVoiceControlMethod
列挙型の値:
CRIATOMEX_PREFER_LAST  後着優先
CRIATOMEX_PREFER_FIRST  先着優先
CRIATOMEX_PREFER_DATA  データ設定優先

enum CriAtomExSpeakerIdTag

スピーカーID

説明:
音声を出力するスピーカーを指定するためのIDです。
criAtomExPlayer_SetSendLevel 関数で利用します。
参照:
criAtomExPlayer_SetSendLevel
列挙型の値:
CRIATOMEX_SPEAKER_FRONT_LEFT  フロントレフトスピーカー
CRIATOMEX_SPEAKER_FRONT_RIGHT  フロントライトスピーカー
CRIATOMEX_SPEAKER_FRONT_CENTER  フロントセンタースピーカー
CRIATOMEX_SPEAKER_LOW_FREQUENCY  LFE(≒サブウーハー)
CRIATOMEX_SPEAKER_SURROUND_LEFT  サラウンドレフトスピーカー
CRIATOMEX_SPEAKER_SURROUND_RIGHT  サラウンドライトスピーカー
CRIATOMEX_SPEAKER_SURROUND_BACK_LEFT  サラウンドバックレフトスピーカー
CRIATOMEX_SPEAKER_SURROUND_BACK_RIGHT  サラウンドバックライトスピーカー

enum CriAtomExParameterIdTag

パラメーターID

説明:
パラメーターを指定するためのIDです。
criAtomExPlayer_GetParameterFloat32 関数等で利用します。
参照:
criAtomExPlayer_GetParameterFloat32, criAtomExPlayer_GetParameterSint32, criAtomExPlayer_GetParameterUint32
列挙型の値:
CRIATOMEX_PARAMETER_ID_VOLUME  ボリューム
CRIATOMEX_PARAMETER_ID_PITCH  ピッチ
CRIATOMEX_PARAMETER_ID_PAN3D_ANGLE  パンニング3D角度
CRIATOMEX_PARAMETER_ID_PAN3D_DISTANCE  パンニング3D距離
CRIATOMEX_PARAMETER_ID_PAN3D_VOLUME  パンニング3Dボリューム
CRIATOMEX_PARAMETER_ID_PAN_TYPE  パンタイプ
CRIATOMEX_PARAMETER_ID_PAN_SPEAKER_TYPE  パンスピーカータイプ
CRIATOMEX_PARAMETER_ID_PAN_CH0  2Dパン(チャンネル0)
CRIATOMEX_PARAMETER_ID_PAN_CH1  2Dパン(チャンネル1)
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_0  バスセンドレベル0
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_1  バスセンドレベル1
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_2  バスセンドレベル2
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_3  バスセンドレベル3
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_4  バスセンドレベル4
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_5  バスセンドレベル5
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_6  バスセンドレベル6
CRIATOMEX_PARAMETER_ID_BUS_SEND_LEVEL_7  バスセンドレベル7
CRIATOMEX_PARAMETER_ID_BANDPASS_FILTER_COF_LOW  バンドパスフィルターの低域カットオフ周波数
CRIATOMEX_PARAMETER_ID_BANDPASS_FILTER_COF_HIGH  バンドパスフィルターの高域カットオフ周波数
CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_TYPE  バイクアッドフィルターのフィルタータイプ
CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_FREQ  バイクアッドフィルターの周波数
CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_Q  バイクアッドフィルターのQ値
CRIATOMEX_PARAMETER_ID_BIQUAD_FILTER_GAIN  バイクアッドフィルターのゲイン
CRIATOMEX_PARAMETER_ID_ENVELOPE_ATTACK_TIME  エンベロープのアタックタイム
CRIATOMEX_PARAMETER_ID_ENVELOPE_HOLD_TIME  エンベロープのホールドタイム
CRIATOMEX_PARAMETER_ID_ENVELOPE_DECAY_TIME  エンベロープのディケイタイム
CRIATOMEX_PARAMETER_ID_ENVELOPE_RELEASE_TIME  エンベロープのリリースタイム
CRIATOMEX_PARAMETER_ID_ENVELOPE_SUSTAIN_LEVEL  エンベロープのサスティンレベル
CRIATOMEX_PARAMETER_ID_START_TIME  再生開始位置
CRIATOMEX_PARAMETER_ID_PRIORITY  ボイスプライオリティ
CRIATOMEX_PARAMETER_ID_SILENT_MODE  無音時処理モード
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_0  インサーションDSPのパラメーター0
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_1  インサーションDSPのパラメーター1
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_2  インサーションDSPのパラメーター2
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_3  インサーションDSPのパラメーター3
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_4  インサーションDSPのパラメーター4
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_5  インサーションDSPのパラメーター5
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_6  インサーションDSPのパラメーター6
CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_7  インサーションDSPのパラメーター7


関数

CriSint32 CRIAPI criAtomExPlayer_CalculateWorkSize ( const CriAtomExPlayerConfig config  ) 

AtomExPlayer用ワーク領域サイズの計算

引数:
[in] config プレーヤー作成用コンフィグ構造体
戻り値:
CriSint32 ワーク領域サイズ
戻り値:
0以上 正常に処理が完了
-1 エラーが発生
説明:
AtomExプレーヤーを作成するために必要な、ワーク領域のサイズを取得します。
アロケーターを登録せずにAtomExプレーヤーを作成する場合、 あらかじめ本関数で計算したワーク領域サイズ分のメモリを ワーク領域として criAtomExPlayer_Create 関数にセットする必要があります。

プレーヤーの作成に必要なワークメモリのサイズは、プレーヤー作成用コンフィグ 構造体( CriAtomExPlayerConfig )の内容によって変化します。

引数にNULLを指定した場合、デフォルト設定 ( criAtomExPlayer_SetDefaultConfig 適用時と同じパラメーター)で ワーク領域サイズを計算します。
ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。
ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。
備考:
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create

CriAtomExPlayerHn CRIAPI criAtomExPlayer_Create ( const CriAtomExPlayerConfig config,
void *  work,
CriSint32  work_size 
)

AtomExPlayerの作成

引数:
[in] config AtomExプレーヤー作成用コンフィグ構造体
[in] work ワーク領域
[in] work_size ワーク領域サイズ
戻り値:
CriAtomExPlayerHn AtomExプレーヤーハンドル
説明:
AtomExプレーヤーを作成します。

プレーヤーを作成する際には、ライブラリが内部で利用するためのメモリ領域(ワーク領域) を確保する必要があります。
ワーク領域を確保する方法には、以下の2通りの方法があります。
(a) User Allocator方式:メモリの確保/解放に、ユーザが用意した関数を使用する方法。
(b) Fixed Memory方式:必要なメモリ領域を直接ライブラリに渡す方法。

User Allocator方式を用いる場合、ユーザがワーク領域を用意する必要はありません。
workにNULL、work_sizeに0を指定するだけで、必要なメモリを登録済みのメモリ確保関数から確保します。
AtomExプレーヤー作成時に確保されたメモリは、AtomExプレーヤー破棄時( criAtomExPlayer_Destroy 関数実行時)に解放されます。

Fixed Memory方式を用いる場合、ワーク領域として別途確保済みのメモリ領域を本関数に 設定する必要があります。
ワーク領域のサイズは criAtomExPlayer_CalculateWorkSize 関数で取得可能です。
AtomExプレーヤー作成前に criAtomExPlayer_CalculateWorkSize 関数で取得した サイズ分のメモリを予め確保しておき、本関数に設定してください。
尚、Fixed Memory方式を用いた場合、ワーク領域はAtomExプレーヤーの破棄 ( criAtomExPlayer_Destroy 関数)を行なうまでの間、ライブラリ内で利用され続けます。
AtomExプレーヤーの破棄を行なう前に、ワーク領域のメモリを解放しないでください。
例:
【User Allocator方式によるAtomExプレーヤーの作成】
User Allocator方式を用いる場合、AtomExプレーヤーの作成/破棄の手順は以下のようになります。
  1. AtomExプレーヤー作成前に、 criAtomEx_SetUserAllocator 関数を用いてメモリ確保/解放関数を登録する。
  2. AtomExプレーヤー作成用コンフィグ構造体にパラメーターをセットする。
  3. criAtomExPlayer_Create 関数でAtomExプレーヤーを作成する。
    (workにはNULL、work_sizeには0を指定する。)
  4. ハンドルが不要になったら criAtomExPlayer_Destroy 関数でAtomExプレーヤーを破棄する。

具体的なコードは以下のとおりです。
 // 独自のメモリ確保関数
 void *user_malloc(void *obj, CriUint32 size)
 {
    void *mem;
    
    // メモリの確保
    mem = malloc(size);
    
    return (mem);
 }
 
 // 独自のメモリ解放関数を用意
 void user_free(void *obj, void *mem)
 {
    // メモリの解放
    free(mem);
    
    return;
 }
 
 main()
 {
    CriAtomExPlayerConfig config;   // AtomExプレーヤー作成用コンフィグ構造体
    CriAtomExPlayerHn player;       // AtomExプレーヤーハンドル
        :
    // 独自のメモリアロケーターを登録
    criAtomEx_SetUserAllocator(user_malloc, user_free, NULL);
    
    // AtomExプレーヤー作成用コンフィグ構造体を設定
    criAtomExPlayer_SetDefaultConfig(&config);
    
    // AtomExプレーヤーの作成
    // ワーク領域にはNULLと0を指定する。
    // →必要なメモリは、登録したメモリ確保関数を使って確保される。
    player = criAtomExPlayer_Create(&config, NULL, 0);
        :
    // 音声再生処理
        :
    // AtomExプレーヤーが不要になった時点で破棄
    // →AtomExプレーヤー作成時にライブラリ内で確保されたメモリが解放される。
    criAtomExPlayer_Destroy(player);
        :
 }
※ライブラリ初期化時にメモリ確保/解放関数を登録済みの場合、AtomExプレーヤー作成時 に再度関数を登録する必要はありません。

【Fixed Memory方式によるAtomExプレーヤーの作成】
Fixed Memory方式を用いる場合、AtomExプレーヤーの作成/破棄の手順は以下のようになります。
  1. AtomExプレーヤー作成用コンフィグ構造体にパラメーターをセットする。
  2. AtomExプレーヤーの作成に必要なワーク領域のサイズを、 criAtomExPlayer_CalculateWorkSize 関数を使って計算する。
  3. ワーク領域サイズ分のメモリを確保する。
  4. criAtomExPlayer_Create 関数でAtomExプレーヤーを作成する。
    (workには確保したメモリのアドレスを、work_sizeにはワーク領域のサイズを指定する。)
  5. ハンドルが不要になったら criAtomExPlayer_Destroy 関数でAtomExプレーヤーを破棄する。
  6. ワーク領域のメモリを解放する。

具体的なコードは以下のとおりです。
 main()
 {
    CriAtomExPlayerConfig config;   // AtomExプレーヤー作成用コンフィグ構造体
    CriAtomExPlayerHn player;       // AtomExプレーヤーハンドル
    void *work;                     // ワーク領域アドレス
    CriSint32 work_size;            // ワーク領域サイズ
        :
    // AtomExプレーヤー作成用コンフィグ構造体を設定
    criAtomExPlayer_SetDefaultConfig(&config);
    
    // AtomExプレーヤーの作成に必要なワーク領域のサイズを計算
    work_size = criAtomExPlayer_CalculateWorkSize(&config);
    
    // ワーク領域用にメモリを確保
    work = malloc((size_t)work_size);
    
    // AtomExプレーヤーの作成
    // ワーク領域にはNULLと0を指定する。
    // →確保済みのワーク領域を指定する。
    player = criAtomExPlayer_Create(&config, work, work_size);
        :
    // 音声再生処理
    // →この間、確保したメモリは保持し続ける。
        :
    // AtomExプレーヤーが不要になった時点で破棄
    criAtomExPlayer_Destroy(player);
    
    // 必要なくなったワーク領域を解放する
    free(work);
        :
 }
criAtomExPlayer_Create 関数を実行すると、AtomExプレーヤーが作成され、 プレーヤーを制御するためのハンドル( CriAtomExPlayerHn )が返されます。
データのセット、再生の開始、ステータスの取得等、AtomExプレーヤーに対して 行う操作は、全てハンドルに対して行います。

プレーヤーの作成に失敗した場合、戻り値として NULL が返されます。
プレーヤーの作成に失敗した理由については、エラーコールバックのメッセージで確認可能です。

作成されたAtomExプレーヤーハンドルを使用して音声データを再生する手順は以下のとおりです。
  1. criAtomExPlayer_SetData 関数を使用して、AtomExプレーヤーに再生するデータをセットする。
    (ファイル再生時は、 criAtomExPlayer_SetFile 関数または criAtomExPlayer_SetContentId 関数を使用する。)
  2. criAtomExPlayer_Start 関数で再生を開始する。
備考:
引数 config の情報は、関数内でのみ参照されます。
関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。
注意:
本関数を実行する前に、ライブラリを初期化しておく必要があります。

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

void CRIAPI criAtomExPlayer_SetCueId ( CriAtomExPlayerHn  player,
CriAtomExAcbHn  acb_hn,
CriAtomExCueId  id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] acb_hn ACBハンドル
[in] id キューID
説明:
キューIDを、AtomExプレーヤーに関連付けます。
本関数でキューIDを指定後、 criAtomExPlayer_Start 関数で再生を 開始すると、指定されたキューが再生されます。
例:
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetCueId(player, acb_hn, 100);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考:
第2引数( ach_hn )に NULL を指定した場合、全てのACBデータを対象に、指定したキューIDに 合致するデータがないか、ライブラリ内で検索が行われます。
(指定したキューIDを持つACBデータが見つかった時点で、 当該ACBデータのキューがプレーヤーにセットされます。)
この際、検索の順序は、ACBデータのロード順とは逆順で行われます。
(後からロードされたデータから優先的に検索が行われます。)

criAtomExPlayer_SetCueId 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。
(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)
参照:
criAtomExPlayer_Start

void CRIAPI criAtomExPlayer_SetCueName ( CriAtomExPlayerHn  player,
CriAtomExAcbHn  acb_hn,
const CriChar8 *  cue_name 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] acb_hn ACBハンドル
[in] cue_name キュー名 キュー名を、AtomExプレーヤーに関連付けます。
本関数でキュー名を指定後、 criAtomExPlayer_Start 関数で再生を 開始すると、指定されたキューが再生されます。
例:
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetCueName(player, acb_hn, "gun_shot");
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考:
第2引数( ach_hn )に NULL を指定した場合、全てのACBデータを対象に、指定したキュー名に 合致するデータがないか、ライブラリ内で検索が行われます。
(指定したキュー名を持つACBデータが見つかった時点で、 当該ACBデータのキューがプレーヤーにセットされます。)
この際、検索の順序は、ACBデータのロード順とは逆順で行われます。
(後からロードされたデータから優先的に検索が行われます。)

criAtomExPlayer_SetCueName 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。
(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)
参照:
criAtomExPlayer_Start

void CRIAPI criAtomExPlayer_SetCueIndex ( CriAtomExPlayerHn  player,
CriAtomExAcbHn  acb_hn,
CriAtomExCueIndex  index 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] acb_hn ACBハンドル
[in] index キューインデックス キューインデックスを、AtomExプレーヤーに関連付けます。
本関数でキューインデックスを指定後、 criAtomExPlayer_Start 関数で再生を 開始すると、指定されたキューが再生されます。
例:
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetCueIndex(player, acb_hn, 300);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考:
第2引数( ach_hn )に NULL を指定した場合、全てのACBデータを対象に、指定したキューインデックスに 合致するデータがないか、ライブラリ内で検索が行われます。
(指定したキューインデックスを持つACBデータが見つかった時点で、 当該ACBデータのキューがプレーヤーにセットされます。)
この際、検索の順序は、ACBデータのロード順とは逆順で行われます。
(後からロードされたデータから優先的に検索が行われます。)

criAtomExPlayer_SetCueIndex 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。
(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)

本関数を使用することで、キュー名やキューIDを指定せずにプレーヤーに対して 音声をセットすることが可能です。
(キュー名やキューIDがわからない場合でも、ACBファイル内のコンテンツを一通り再生 可能なので、デバッグ用途に利用可能です。)
参照:
criAtomExPlayer_Start

void CRIAPI criAtomExPlayer_SetData ( CriAtomExPlayerHn  player,
void *  buffer,
CriSint32  size 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] buffer バッファーアドレス
[in] size バッファーサイズ
説明:
メモリ上に配置された音声データを、AtomExプレーヤーに関連付けます。
本関数でメモリアドレスとサイズを指定後、 criAtomExPlayer_Start 関数で再生を 開始すると、指定されたデータが再生されます。
例:
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetData(player, buffer, buffer_size);
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_ADX);
    criAtomExPlayer_SetNumChannels(player, 1);
    criAtomExPlayer_SetSamplingRate(player, 24000);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたデータの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
注意:
プレーヤーが記憶するのはバッファーのアドレスとサイズのみです。
(バッファー内のデータがコピーされるわけではありません。)
そのため、指定したデータの再生が終了するまでの間、 アプリケーション側でバッファーを保持し続ける必要があります。

メモリ再生を行っているAtomExプレーヤーを停止させた場合でも、 ライブラリ内には当該メモリ領域を参照しているボイスが存在する可能性があります。
本関数でセットしたメモリ領域を解放する際には、事前に criAtomEx_IsDataPlaying 関数を実行し、当該メモリ領域への参照が行われていないことを確認してください。
criAtomExPlayer_SetData 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。
参照:
criAtomExPlayer_SetFormat, criAtomExPlayer_Start, criAtomEx_IsDataPlaying

void CRIAPI criAtomExPlayer_SetFile ( CriAtomExPlayerHn  player,
CriFsBinderHn  binder,
const CriChar8 *  path 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] binder バインダーハンドル
[in] path ファイルパス
説明:
音声ファイルをAtomExプレーヤーに関連付けます。
本関数でファイルを指定後、 criAtomExPlayer_Start 関数で再生を開始すると、 指定されたファイルがストリーミング再生されます。
尚、本関数を実行した時点では、ファイルの読み込みは開始されません。
ファイルの読み込みが開始されるのは、 criAtomExPlayer_Start 関数実行後です。
例:
 main()
 {
        :
    // 音声ファイルをセット
    criAtomExPlayer_SetFile(player, NULL, "sample.hca");
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_HCA);
    criAtomExPlayer_SetNumChannels(player, 2);
    criAtomExPlayer_SetSamplingRate(player, 48000);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意:
criAtomExPlayer_SetFile 関数を実行すると、 指定したパス文字列がAtomExプレーヤー内に保持されます。
AtomExプレーヤーはデフォルト状態ではパス文字列を保持する領域を1つしか確保しません。
(メモリサイズ削減のため。)
しかし、ファイル再生中に別のファイルをAtomExプレーヤーにセットしたい場合、 再生中のファイルとセットしたファイルの両方のパスを保持する必要があるため、 2つのパス文字列を保存する領域が必要になります。
2つ以上のファイルを同時に再生したい場合には、プレーヤー作成時に指定する max_path_strings の数を増やす必要があります。
max_path_strings の数を増やすことで、AtomExプレーヤーは指定された数分の パス文字列を同時に保存できるようになります。
(max_path_strings に2以上の値を指定することで、 1つのプレーヤーで複数のファイルを同時にパス指定で再生することが可能となります。)
ただし、 max_path_strings の値に応じて必要なワーク領域のサイズは増加します。

criAtomExPlayer_SetFile 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create, criAtomExPlayer_Start

void CRIAPI criAtomExPlayer_SetContentId ( CriAtomExPlayerHn  player,
CriFsBinderHn  binder,
CriSint32  id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] binder バインダーハンドル
[in] id コンテンツID
説明:
コンテンツをAtomExプレーヤーに関連付けます。
CRI File Systemライブラリを使用してCPKファイル内のコンテンツファイルを ID指定で再生するために使用します。
本関数にバインダーとコンテンツIDを指定後、 criAtomExPlayer_Start 関数で再生を 開始すると、指定されたコンテンツファイルがストリーミング再生されます。
尚、本関数を実行した時点では、ファイルの読み込みは開始されません。
ファイルの読み込みが開始されるのは、 criAtomExPlayer_Start 関数実行後です。
例:
 main()
 {
        :
    // CPKファイルをバインド
    criFsBinder_BindCpk(binder, "sample.cpk", work, work_size, &bind_id);
    
    // バインド完了待ち
    for (;;) {
        // ステータスのチェック
        criFsBinder_GetStatus(binder, &status);
        if (status == CRIFSBINDER_STATUS_COMPLETE) {
            break;
        }
        
        // サーバー処理の実行
        criFs_ExecuteMain();
        
        // Vsync待ち等
            :
    }
        :
    // 音声ファイルをセット
    // sample.cpk内の1番のコンテンツをセット
    criAtomExPlayer_SetContentId(player, binder, 1);
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_ADX);
    criAtomExPlayer_SetNumChannels(player, 2);
    criAtomExPlayer_SetSamplingRate(player, 44100);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意:
criAtomExPlayer_SetContentId 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create, criAtomExPlayer_Start

void CRIAPI criAtomExPlayer_SetWaveId ( CriAtomExPlayerHn  player,
CriAtomAwbHn  awb,
CriAtomExWaveId  id 
)

音声データのセット(波形データIDの指定)

引数:
[in] player AtomExプレーヤーハンドル
[in] awb AWBハンドル
[in] id 波形データID
説明:
再生する波形データをAtomExプレーヤーに関連付けます。
本関数にAWBハンドルと波形データIDを指定後、 criAtomExPlayer_Start 関数で再生を 開始すると、指定した波形データがストリーミング再生されます。
尚、本関数を実行した時点では、ファイルの読み込みは開始されません。
ファイルの読み込みが開始されるのは、 criAtomExPlayer_Start 関数実行後です。
例:
 main()
 {
        :
    // AWBのTOC情報をロードしてAWBハンドルを作成
    awb = criAtomAwb_LoadToc(NULL, "sample.awb", NULL, 0);
        :
    // 波形データをセット
    // AWB内の1番の波形データをセット
    criAtomExPlayer_SetWaveId(player, awb, 1);
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_HCA_MX);
    criAtomExPlayer_SetNumChannels(player, 2);
    criAtomExPlayer_SetSamplingRate(player, 32000);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
注意:
本関数で音声データをセットする場合、 以下の関数を使用して再生する音声データの情報を別途指定する必要があります。

本関数でセットした音声を再生中に、 criAtomAwb_Release 関数でデータを破棄しないでください。
AWBファイルを破棄する際には、必ず再生を停止した状態で criAtomAwb_Release 関数を実行してください。
参照:
CriAtomExPlayerConfig, criAtomExPlayer_Create, criAtomExPlayer_Start

CriAtomExPlaybackId CRIAPI criAtomExPlayer_Start ( CriAtomExPlayerHn  player  ) 

再生の開始

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriAtomExPlaybackId 再生ID
説明:
音声データの再生処理を開始します。
本関数を実行する前に、事前に criAtomExPlayer_SetData 関数等を使用し、再生する 音声データをAtomExプレーヤーにセットしておく必要があります。
例えば、オンメモリの音声データを再生する場合には、以下のように事前に criAtomExPlayer_SetData 関数を使って音声データをセットした後、本関数を実行する 必要があります。
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetData(player, buffer, buffer_size);
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_HCA_MX);
    criAtomExPlayer_SetNumChannels(player, 1);
    criAtomExPlayer_SetSamplingRate(player, 24000);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
本関数実行後、再生の進み具合(発音が開始されたか、再生が完了したか等)がどうなって いるかは、ステータスを取得することで確認が可能です。
ステータスの取得には、 criAtomExPlayer_GetStatus 関数を使用します。
criAtomExPlayer_GetStatus 関数は以下の5通りのステータスを返します。
  1. CRIATOMEXPLAYER_STATUS_STOP
  2. CRIATOMEXPLAYER_STATUS_PREP
  3. CRIATOMEXPLAYER_STATUS_PLAYING
  4. CRIATOMEXPLAYER_STATUS_PLAYEND
  5. CRIATOMEXPLAYER_STATUS_ERROR
AtomExプレーヤーを作成した時点では、AtomExプレーヤーのステータスは停止状態 ( CRIATOMEXPLAYER_STATUS_STOP )です。
再生する音声データをセット後、本関数を実行することで、AtomExプレーヤーのステータスが 準備状態( CRIATOMEXPLAYER_STATUS_PREP )に変更されます。
(CRIATOMEXPLAYER_STATUS_PREP は、データ供給やデコードの開始を待っている状態です。)
再生の開始に充分なデータが供給された時点で、AtomExプレーヤーはステータスを 再生状態( CRIATOMEXPLAYER_STATUS_PLAYING )に変更し、音声の出力を開始します。
セットされたデータを全て再生し終えると、AtomExプレーヤーはステータスを再生終了状態 ( CRIATOMEXPLAYER_STATUS_PLAYEND )に変更します。
尚、再生中にエラーが発生した場合には、AtomExプレーヤーはステータスをエラー状態 ( CRIATOMEXPLAYER_STATUS_ERROR )に変更します。

AtomExプレーヤーのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
例えば、音声の再生完了を待って処理を進めたい場合には、以下のようなコードになります。
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetData(player, buffer, buffer_size);
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_ADX);
    criAtomExPlayer_SetNumChannels(player, 1);
    criAtomExPlayer_SetSamplingRate(player, 22050);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
    
    // 再生完了待ち
    for (;;) {
        // ステータスの取得
        status = criAtomExPlayer_GetStatus(player);
        
        // ステータスのチェック
        if (status == CRIATOMEXPLAYER_STATUS_PLAYEND) {
            // 再生終了時はループを抜ける
            break;
        }
        
        // サーバー処理の実行
        criAtomEx_ExecuteMain();
        
        // 画面表示の更新等
            :
    }
        :
 }
備考:
関数実行時に発音リソースが確保できない場合(全てのボイスが使用中で、なおかつ 他のボイスを奪い取れない場合等)、本関数は CRIATOMEX_INVALID_PLAYBACK_ID を返します。
しかし、戻り値を元にエラーチェックを行わなくても、ほとんどのケースで問題は発生しません。
再生ID( CriAtomExPlaybackId )を使用する API に対し、 CRIATOMEX_INVALID_PLAYBACK_ID をセットしたとしても、Atomライブラリは特に何も処理しません。
そのため、デバッグ目的で発音が行われたかどうかをチェックしたい場合を除き、 本関数の結果に応じてアプリケーション側で処理を切り分ける必要はありません。
( CRIATOMEX_INVALID_PLAYBACK_ID が返された際に、有効な再生IDが返された場合と 同様の処理を行っても、エラーコールバック等は発生しません。)
参照:
criAtomExPlayer_SetData, criAtomExPlayer_SetFile, criAtomExPlayer_GetStatus, criAtomExPlayer_Pause, criAtomEx_ExecuteMain

CriAtomExPlaybackId CRIAPI criAtomExPlayer_Prepare ( CriAtomExPlayerHn  player  ) 

再生の準備

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriAtomExPlaybackId 再生ID
説明:
音声データの再生を準備します。
本関数を実行する前に、事前に criAtomExPlayer_SetData 関数等を使用し、 再生すべき音声データをAtomExプレーヤーにセットしておく必要があります。

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

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

本関数で再生準備を行った音声を発音するには、 本関数が返す再生 ID ( CriAtomExPlaybackId )に対し、 criAtomExPlayback_Pause(id, CRI_FALSE); の操作を行う必要があります。
備考:
ストリーミング再生時には、 criAtomExPlayer_Start 関数で再生を開始しても、 実際に音声の再生が開始されるまでにはタイムラグがあります。
(音声データのバッファリングに時間がかかるため。)

以下の操作を行うことで、ストリーム再生の音声についても、発音のタイミングを 制御することが可能になります。
  1. criAtomExPlayer_Prepare 関数で準備を開始する。
  2. 手順1.で取得した再生IDのステータスを criAtomExPlayback_GetStatus 関数で確認。
  3. ステータスが CRIATOMEXPLAYBACK_STATUS_PLAYINGになった時点で criAtomExPlayback_Pause 関数でポーズを解除。
  4. ポーズ解除後、次にサーバー処理が動作するタイミングで発音が開始される。
具体的なコードは、以下のとおりです。
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetFile(player, NULL, "sample.adx");
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_ADX);
    criAtomExPlayer_SetNumChannels(player, 2);
    criAtomExPlayer_SetSamplingRate(player, 48000);
    
    // セットされた音声データの再生準備を開始
    playback_id = criAtomExPlayer_Prepare(player);
        :
    // 再生準備完了待ち
    for (;;) {
        // 再生ステータスをチェック
        playback_status = criAtomExPlayback_GetStatus(playback_id);
        if (playback_status == CRIATOMEXPLAYBACK_STATUS_PLAYING) {
            // ステータスが再生状態になった時点でループを抜ける
            break;
        }
        
        // サーバー処理の実行
        criAtomEx_ExecuteMain();
        
        // 画面表示の更新等
            :
    }
    
    // ポーズを解除
    criAtomExPlayback_Pause(playback_id, CRI_FALSE);
        :
 }
ポーズ解除処理に criAtomExPlayback_Pause 関数を使用した場合、 本関数による再生準備のためのポーズと、 criAtomExPlayer_Pause 関数による一時停止処理の両方が解除されます。
criAtomExPlayer_Pause 関数でポーズした音声を停止したまま 本関数で再生準備を行った音声を再生したい場合、ポーズの解除に criAtomExPlayer_Resume 関数(または criAtomExPlayback_Resume 関数)をご利用ください。
参照:
criAtomExPlayback_GetStatus, criAtomExPlayback_Pause

void CRIAPI criAtomExPlayer_Stop ( CriAtomExPlayerHn  player  ) 

再生の停止

引数:
[in] player AtomExプレーヤーハンドル
説明:
再生の停止要求を発行します。
音声再生中のAtomExプレーヤーに対して本関数を実行すると、 AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( CRIATOMEXPLAYER_STATUS_STOP )に遷移します。
備考:
既に停止しているAtomExプレーヤー(ステータスが CRIATOMEXPLAYER_STATUS_PLAYEND や CRIATOMEXPLAYER_STATUS_ERROR のAtomExプレーヤー) に対して本関数を実行すると、 AtomExプレーヤーのステータスを CRIATOMEXPLAYER_STATUS_STOP に変更します。
注意:
本関数は完了復帰型の関数ではありません。
そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。
(停止状態になるまでに、時間がかかる場合があります。)
停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(CRIATOMEXPLAYER_STATUS_STOP) になることを確認してください。
参照:
criAtomExPlayer_Start, criAtomExPlayer_GetStatus

void CRIAPI criAtomExPlayer_StopWithoutReleaseTime ( CriAtomExPlayerHn  player  ) 

再生の停止(リリースタイム無視)

引数:
[in] player AtomExプレーヤーハンドル
説明:
再生の停止要求を発行します。
この際、再生中の音声にエンベロープのリリースタイムが設定されていたとしても、 それを無視して停止します。
音声再生中のAtomExプレーヤーに対して本関数を実行すると、 AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( CRIATOMEXPLAYER_STATUS_STOP )に遷移します。
備考:
既に停止しているAtomExプレーヤー(ステータスが CRIATOMEXPLAYER_STATUS_PLAYEND や CRIATOMEXPLAYER_STATUS_ERROR のAtomExプレーヤー) に対して本関数を実行すると、 AtomExプレーヤーのステータスを CRIATOMEXPLAYER_STATUS_STOP に変更します。
注意:
本関数は完了復帰型の関数ではありません。
そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。
(停止状態になるまでに、時間がかかる場合があります。)
停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(CRIATOMEXPLAYER_STATUS_STOP) になることを確認してください。
参照:
criAtomExPlayer_Start, criAtomExPlayer_GetStatus

void CRIAPI criAtomExPlayer_StopAllPlayers ( void   ) 

全てのプレーヤーの再生を停止

説明:
全てのAtomExプレーヤーに対し、再生の停止要求を発行します。
本関数を実行すると、AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( CRIATOMEXPLAYER_STATUS_STOP )に遷移します。
備考:
既に停止しているAtomExプレーヤー(ステータスが CRIATOMEXPLAYER_STATUS_PLAYEND や CRIATOMEXPLAYER_STATUS_ERROR のAtomExプレーヤー) についても、 本関数が実行されるとステータスが CRIATOMEXPLAYER_STATUS_STOP に変更されます。
注意:
本関数は完了復帰型の関数ではありません。
そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。
(停止状態になるまでに、時間がかかる場合があります。)
停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(CRIATOMEXPLAYER_STATUS_STOP) になることを確認してください。
参照:
criAtomExPlayer_Start, criAtomExPlayer_GetStatus

void CRIAPI criAtomExPlayer_StopAllPlayersWithoutReleaseTime ( void   ) 

全てのプレーヤーの再生を停止(リリースタイム無視)

説明:
全てのAtomExプレーヤーに対し、再生の停止要求を発行します。
この際、再生中の音声にエンベロープのリリースタイムが設定されていたとしても、 それを無視して停止します。
本関数を実行すると、AtomExプレーヤーは再生を停止(ファイルの読み込みや、発音を停止)し、 ステータスを停止状態( CRIATOMEXPLAYER_STATUS_STOP )に遷移します。
備考:
既に停止しているAtomExプレーヤー(ステータスが CRIATOMEXPLAYER_STATUS_PLAYEND や CRIATOMEXPLAYER_STATUS_ERROR のAtomExプレーヤー) についても、 本関数が実行されるとステータスが CRIATOMEXPLAYER_STATUS_STOP に変更されます。
注意:
本関数は完了復帰型の関数ではありません。
そのため、関数内で処理が長時間ブロックすることはありませんが、 関数を抜けた時点では再生が停止していない可能性がある点にご注意ください。
(停止状態になるまでに、時間がかかる場合があります。)
停止を保証する必要がある場合には、本関数呼び出し後、 AtomExプレーヤーのステータスが停止状態(CRIATOMEXPLAYER_STATUS_STOP) になることを確認してください。
参照:
criAtomExPlayer_Start, criAtomExPlayer_GetStatus

void CRIAPI criAtomExPlayer_Pause ( CriAtomExPlayerHn  player,
CriBool  sw 
)

ポーズ/ポーズ解除

引数:
[in] player AtomExプレーヤーハンドル
[in] sw スイッチ(CRI_FALSE = ポーズ解除、CRI_TRUE = ポーズ)
説明:
再生のポーズ/ポーズ解除を行います。
sw に CRI_TRUE を指定して本関数を実行すると、AtomExプレーヤーは再生中の 音声をポーズ(一時停止)します。
sw に CRI_FALSE を指定して本関数を実行すると、AtomExプレーヤーはポーズを 解除し、一時停止していた音声の再生を再開します。
備考:
デフォルト状態(プレーヤー作成直後の状態)では、ポーズは解除されています。
注意:
第2引数(sw)に CRI_FALSE を指定してポーズ解除の操作を行った場合、 本関数でポーズをかけた音声だけでなく、criAtomExPlayer_Prepare 関数で再生準備中の音声についても再生が開始されてしまいます。
(旧バージョンとの互換性維持のための仕様です。)
本関数でポーズをかけた音声についてのみポーズを解除したい場合、 本関数を使用せず、 criAtomExPlayer_Resume(player, CRIATOMEX_RESUME_PAUSED_PLAYBACK); を実行してポーズ解除を行ってください。

本関数を実行すると、プレーヤーで再生している"全ての"音声に対してポーズ/ポーズ解除 の処理が行われます。
再生中の個々の音声に対し、個別にポーズ/ポーズ解除の処理を行う場合には、 criAtomExPlayback_Pause 関数をご利用ください。
参照:
criAtomExPlayer_IsPaused, criAtomExPlayback_Pause, criAtomExPlayer_Resume

void CRIAPI criAtomExPlayer_Resume ( CriAtomExPlayerHn  player,
CriAtomExResumeMode  mode 
)

ポーズ解除

引数:
[in] player AtomExプレーヤーハンドル
[in] mode ポーズ解除対象
説明:
一時停止状態の解除を行います。
criAtomExPlayer_Pause 関数と異なり、 criAtomExPlayer_Prepare 関数で再生開始待ちの音声と、 criAtomExPlayer_Pause 関数(または criAtomExPlayback_Pause 関数でポーズをかけた音声とを、 個別に再開させることが可能です。

第2引数(mode)に CRIATOMEX_RESUME_PAUSED_PLAYBACK を指定して本関数を実行すると、 ユーザが criAtomExPlayer_Pause 関数(または criAtomExPlayback_Pause 関数)で一時停止状態になった音声の再生が再開されます。
第2引数(mode)に CRIATOMEX_RESUME_PREPARED_PLAYBACK を指定して本関数を実行すると、 ユーザが criAtomExPlayer_Prepare 関数で再生準備を指示した音声の再生が開始されます。

criAtomExPlayer_Pause 関数でポーズ状態のプレーヤーに対して criAtomExPlayer_Prepare 関数で再生準備を行った場合、その音声は CRIATOMEX_RESUME_PAUSED_PLAYBACK 指定のポーズ解除処理と、 CRIATOMEX_RESUME_PREPARED_PLAYBACK 指定のポーズ解除処理の両方が行われるまで、再生が開始されません。
備考:
criAtomExPlayer_Pause 関数か criAtomExPlayer_Prepare 関数かに関係なく、 常に再生を開始したい場合には、第2引数(mode)に CRIATOMEX_RESUME_ALL_PLAYBACK を指定して本関数を実行するか、または criAtomExPlayer_Pause(player, CRI_FALSE); を実行してください。
注意:
本関数を実行すると、プレーヤーで再生している"全ての"音声に対してポーズ解除 の処理が行われます。
再生中の個々の音声に対し、個別にポーズ解除の処理を行う場合には、 criAtomExPlayback_Resume 関数をご利用ください。
参照:
criAtomExPlayback_Resume, criAtomExPlayer_Pause

CriBool CRIAPI criAtomExPlayer_IsPaused ( CriAtomExPlayerHn  player  ) 

ポーズ状態の取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriBool ポーズ中かどうか(CRI_FALSE = ポーズされていない、CRI_TRUE = ポーズ中)
説明:
プレーヤーがポーズ中かどうかを返します。
注意:
本関数が CRI_TRUE を返すのは、「全ての再生音がポーズ中の場合」のみです。
criAtomExPlayer_Pause 関数実行後、再生ID指定で個々の音声のポーズを解除 ( criAtomExPlayback_Pause 関数を実行)した場合、本関数は CRI_FALSE を 返します。

本関数は criAtomExPlayer_Pause 関数でポーズされた音声と、 criAtomExPlayer_Prepare 関数でポーズされた音声とを区別しません。
(ポーズ方法に関係なく、全ての再生音がポーズされているかどうかのみを判定します。)
参照:
criAtomExPlayer_Pause, criAtomExPlayback_Pause

CriAtomExPlayerStatus CRIAPI criAtomExPlayer_GetStatus ( CriAtomExPlayerHn  player  ) 

ステータスの取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriAtomExPlayerStatus ステータス
説明:
AtomExプレーヤーのステータスを取得します。
ステータスはAtomExプレーヤーの再生状態を示す値で、以下の5通りの値が存在します。
  1. CRIATOMEXPLAYER_STATUS_STOP
  2. CRIATOMEXPLAYER_STATUS_PREP
  3. CRIATOMEXPLAYER_STATUS_PLAYING
  4. CRIATOMEXPLAYER_STATUS_PLAYEND
  5. CRIATOMEXPLAYER_STATUS_ERROR
AtomExプレーヤーを作成した時点では、AtomExプレーヤーのステータスは停止状態 ( CRIATOMEXPLAYER_STATUS_STOP )です。
再生する音声データをセット後、criAtomExPlayer_Start 関数を実行することで、 AtomExプレーヤーのステータスが準備状態( CRIATOMEXPLAYER_STATUS_PREP )に変更されます。
(CRIATOMEXPLAYER_STATUS_PREP は、データ供給やデコードの開始を待っている状態です。)
再生の開始に充分なデータが供給された時点で、AtomExプレーヤーはステータスを 再生状態( CRIATOMEXPLAYER_STATUS_PLAYING )に変更し、音声の出力を開始します。
セットされたデータを全て再生し終えると、AtomExプレーヤーはステータスを再生終了状態 ( CRIATOMEXPLAYER_STATUS_PLAYEND )に変更します。
尚、再生中にエラーが発生した場合には、AtomExプレーヤーはステータスをエラー状態 ( CRIATOMEXPLAYER_STATUS_ERROR )に変更します。

AtomExプレーヤーのステータスをチェックし、ステータスに応じて処理を切り替えることで、 音声の再生状態に連動したプログラムを作成することが可能です。
例えば、音声の再生完了を待って処理を進めたい場合には、以下のようなコードになります。
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetData(player, buffer, buffer_size);
    
    // 再生する音声データのフォーマットを指定
    criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_ADX);
    criAtomExPlayer_SetNumChannels(player, 1);
    criAtomExPlayer_SetSamplingRate(player, 24000);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
    
    // 再生完了待ち
    for (;;) {
        // ステータスの取得
        status = criAtomExPlayer_GetStatus(player);
        
        // ステータスのチェック
        if (status == CRIATOMEXPLAYER_STATUS_PLAYEND) {
            // 再生終了時はループを抜ける
            break;
        }
        
        // サーバー処理の実行
        criAtomEx_ExecuteMain();
        
        // 画面表示の更新等
            :
    }
        :
 }
参照:
criAtomExPlayer_Start

CriSint32 CRIAPI criAtomExPlayer_GetNumPlaybacks ( CriAtomExPlayerHn  player  ) 

再生中の音声数の取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriSint32 再生音数
説明:
プレーヤーで現在再生中の音声の数を取得します。
備考:
本関数は、 criAtomExPlayer_Start 関数で再生を行い、今現在も有効な再生IDの数を返します。
( 使用中のボイス数の数ではありません。複数の波形データを含むシーケンスを1回再生した場合でも、 1つとカウントされます。)
使用中のボイス数を取得したい場合には、 criAtomExVoicePool_GetNumUsedVoices 関数をご利用ください。
参照:
criAtomExPlayer_Start, criAtomExVoicePool_GetNumUsedVoices

CriAtomExPlaybackId CRIAPI criAtomExPlayer_GetLastPlaybackId ( CriAtomExPlayerHn  player  ) 

最終再生IDの取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriSint32 再生ID
説明:
プレーヤーで最後に再生した音声の再生IDを取得します。
備考:
参照:
criAtomExPlayer_Start

CriSint64 CRIAPI criAtomExPlayer_GetTime ( CriAtomExPlayerHn  player  ) 

再生時刻の取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
Sint64 再生時刻(ミリ秒単位)
説明:
AtomExプレーヤーで最後に再生した音声の、再生時刻を取得します。

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

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

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

AtomExプレーヤー作成時、 CriAtomExPlayerConfig 構造体の updates_time を CRI_FALSE に設定した場合、当該プレーヤーから再生時刻を取得することはできなくなります。

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

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

void CRIAPI criAtomExPlayer_SetFormat ( CriAtomExPlayerHn  player,
CriAtomExFormat  format 
)

フォーマットの指定

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

void CRIAPI criAtomExPlayer_SetNumChannels ( CriAtomExPlayerHn  player,
CriSint32  num_channels 
)

チャンネル数の指定

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

void CRIAPI criAtomExPlayer_SetSamplingRate ( CriAtomExPlayerHn  player,
CriSint32  sampling_rate 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] sampling_rate サンプリングレート
説明:
AtomExプレーヤーで再生する音声のサンプリングレートを指定します。
criAtomExPlayer_Start 関数で音声を再生した際、AtomExプレーヤーは本関数で 指定されたサンプリングレートのデータを再生可能なボイスを、ボイスプールから取得します。
関数実行前のデフォルト設定値は CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE です。
備考:
本関数は、ACBファイルを使用せずに音声を再生する場合にのみセットする必要があります。
キューを再生する場合、フォーマットはキューシートから自動で取得されるため、 別途本関数を実行する必要はありません。

void CRIAPI criAtomExPlayer_SetSoundRendererType ( CriAtomExPlayerHn  player,
CriAtomSoundRendererType  type 
)

サウンドレンダラタイプの指定

引数:
[in] player AtomExプレーヤーハンドル
[in] type サウンドレンダラタイプ
説明:
AtomExプレーヤーで再生する音声の出力先サウンドレンダラを指定します。
criAtomExPlayer_Start 関数で音声を再生した際、AtomExプレーヤーは本関数で 指定されたサウンドレンダラから出力するボイスを、ボイスプールから取得します。
関数実行前のデフォルト設定値は CRIATOM_SOUND_RENDERER_ANY です。
備考:
CRIATOM_SOUND_RENDERER_ANY を指定した場合、プレーヤーはボイスの出力先に関係なく、 最初に見つかったボイスプールを使用して発音を行います。
参照:
CriAtomSoundRendererType

void CRIAPI criAtomExPlayer_SetGroupNumber ( CriAtomExPlayerHn  player,
CriSint32  group_no 
)

グループ番号の指定

引数:
[in] player AtomExプレーヤーハンドル
[in] group_no グループ番号
説明:
発音時にボイスをどのボイスリミットグループから取得するかを指定します。
group_no に CRIATOMEXPLAYER_NO_GROUP_LIMITATION を指定した場合、 プレーヤーはボイスリミットグループによる制限を受けなくなります。
(空きボイスがあるか、または自身より低プライオリティのボイスがあれば、 ボイスリミットグループに関係なくボイスを取得します。)
備考:
criAtomExPlayer_Start 関数で再生を開始した際、 指定したボイスリミットグループのボイスが全て使用中だった場合、 再生した音声が発音されるかどうかは、ボイスプライオリティ制御によって決まります。
(ボイスプライオリティの詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)

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

void CRIAPI criAtomExPlayer_SetVoiceControlMethod ( CriAtomExPlayerHn  player,
CriAtomExVoiceControlMethod  method 
)

ボイス制御方法の指定

引数:
[in] player AtomExプレーヤーハンドル
[in] method ボイス制御方法
説明:
AtomExプレーヤーにボイス制御方法を設定します。
本関数でボイス制御方法をセット後、 criAtomExPlayer_Start 関数で音声を再生すると、 当該プレーヤーで再生する波形データには、本関数で指定した制御方式が適用されます。

ボイス制御方法( method )には、以下のいずれかが指定可能です。
  • CRIATOMEX_PREFER_LAST
  • CRIATOMEX_PREFER_FIRST
  • CRIATOMEX_PREFER_DATA

空きボイスがない状態で再生中のボイスと同プライオリティの音声を再生した場合、 ボイス制御方式に CRIATOMEX_PREFER_LAST が指定されていれば、 再生中のボイスを停止して新規に音声の再生を開始します。
同条件で CRIATOMEX_PREFER_FIRST が指定されている場合、 新規の再生リクエストがキャンセルされ、既存のボイスが再生を続けます。

CRIATOMEX_PREFER_DATA が指定されている場合、 データにあらかじめ設定されているボイス制御方式(オーサリングツール上で設定した値) が使用されます。
CRIATOMEX_PREFER_DATA を指定しているにもかかわらず、単体ファイル再生等、 データにボイス制御方式が設定されていない場合、 後着優先( CRIATOMEX_PREFER_LAST )でボイスが制御されます。

関数実行前のデフォルト設定値はデータ依存( CRIATOMEX_PREFER_DATA )です。
備考:
AtomExプレーヤーが波形データを再生しようとした際、 当該波形データが所属するボイスリミットグループの発音数が上限に達していた場合や、 ボイスプール内のボイスが全て使用中であった場合、 ボイスプライオリティによる発音制御が行われます。

本関数でセットしたボイス制御方式は、発音制御の際、 再生しようとした波形データのプライオリティと、 再生中の波形データのプライオリティが同プライオリティであった場合に考慮されます。
(ボイスプライオリティによる発音制御の詳細は criAtomExPlayer_SetVoicePriority 関数の説明をご参照ください。)
参照:
criAtomExPlayer_Start, criAtomExPlayer_SetVoicePriority

void CRIAPI criAtomExPlayer_SetVoicePoolIdentifier ( CriAtomExPlayerHn  player,
CriAtomExVoicePoolIdentifier  identifier 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] identifier ボイスプール識別子
説明:
発音時にボイスをどのボイスプールから取得するかを指定します。
本関数を実行すると、プレーヤーは以降指定されたボイスプール識別子に一致する ボイスプールからのみボイスを取得します。
備考:
ボイスプール識別子のデフォルト値は 0 です。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
CriAtomExStandardVoicePoolConfig, criAtomExVoicePool_AllocateStandardVoicePool, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetHcaMxMixerId ( CriAtomExPlayerHn  player,
CriSint32  mixer_id 
)

HCAデコード先ミキサIDの指定

引数:
[in] player AtomExプレーヤーハンドル
[in] mixer_id ミキサID
説明:
HCA-MXのデコード先ミキサIDを指定します。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
本関数は HCA-MX ボイスを使用する場合にのみ効果があります。
(他のボイスを使用する場合、本関数の設定値は無視されます。)

ミキサIDは再生開始前に設定する必要があります。
既に再生が開始された音声に対し、後からミキサIDを変更することはできません。
参照:
CriAtomExHcaMxVoicePoolConfig, criAtomExVoicePool_AllocateHcaMxVoicePool, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetAsrRackId ( CriAtomExPlayerHn  player,
CriSint32  rack_id 
)

ASRラックIDの指定

引数:
[in] player AtomExプレーヤーハンドル
[in] rack_id ASRラックID
説明:
ボイスの出力先ASRラックIDを指定します。
複数のASRラックIDを指定したい場合、 criAtomExPlayer_SetAsrRackIdArray 関数を使用してください。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。

キュー再生時に本関数を呼び出すと、データ側に設定されているパラメーターパレットのASRラックID設定を上書きします(データ側の設定値は無視されます)。
注意:
本関数は ボイスのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。
(他のボイスを使用する場合、本関数の設定値は無視されます。)

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

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

HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
HCA-MX用にエンコードされた音声データについて出力先ASRラックIDを設定する場合、 criAtomExHcaMx_SetAsrRackId 関数を使用して、HCA-MXミキサ自体の出力先ASRラックIDを設定してください。
参照:
criAtomExAsr_CreateRack, criAtomExPlayer_SetAsrRackIdArray, criAtomExHcaMx_SetAsrRackId, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetAsrRackIdArray ( CriAtomExPlayerHn  player,
const CriSint32 *  rack_id_array,
CriSint32  num_racks 
)

複数のASRラックIDの指定

引数:
[in] player AtomExプレーヤーハンドル
[in] rack_id_array ASRラックIDの配列
[in] num_racks ASRラックID指定数
説明:
ボイスの出力先ASRラックIDを複数指定します。
CRIATOMEXPLAYER_MAX_ASR_RACKS に定義された数分のASRラックIDを指定することが可能です。
単一のASRラックIDを指定する場合は、 criAtomExPlayer_SetAsrRackId 関数を使用することでも指定可能です。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。

キュー再生時に本関数を呼び出すと、データ側に設定されているパラメーターパレットのASRラックID設定を上書きします(データ側の設定値は無視されます)。
注意:
本関数は ボイスのサウンドレンダラタイプにASRを使用する場合にのみ効果があります。
(他のボイスを使用する場合、本関数の設定値は無視されます。)

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

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

criAtomExPlayer_SetData 関数等を使用したキュー再生以外の再生時では、本関数にて指定した複数のASRラックIDの内、 1つ目(配列のインデックスが0)の要素に格納されているASRラックIDのみが適用されます。

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

HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
HCA-MX用にエンコードされた音声データについて出力先ASRラックIDを設定する場合、 criAtomExHcaMx_SetAsrRackId 関数を使用して、HCA-MXミキサ自体の出力先ASRラックIDを設定してください。
参照:
criAtomExAsr_CreateRack, criAtomExPlayer_SetAsrRackId, criAtomExHcaMx_SetAsrRackId, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetStartTime ( CriAtomExPlayerHn  player,
CriSint64  start_time_ms 
)

再生開始位置の指定

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

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

機種固有の音声フォーマットについても、再生開始位置を指定できない場合があります。

暗号化されたADXデータは、データの先頭から順次復号する必要があります。
そのため、暗号化されたADXデータを途中から再生した場合、 再生開始時にシーク位置までの復号計算が発生し、 処理負荷が大幅に跳ね上がる恐れがあります。

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

void CRIAPI criAtomExPlayer_SetSyncPlaybackId ( CriAtomExPlayerHn  player,
CriAtomExPlaybackId  playback_id 
)

同期再生IDの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] playback_id 同期対象となる再生ID
説明:
AtomExプレーヤーで再生する音声を、指定した再生IDの音声に同期させます。
本関数で再生IDを設定後に音声を再生すると、 その音声は指定された再生IDと同じ再生位置にシークして再生を始めます。
備考:
同期対象の再生IDが無効な場合、音声データの先頭から再生が開始されます。
playback_id に CRIATOMEX_INVALID_PLAYBACK_ID を指定すると、 再生IDの登録がクリアされます。
注意:
本関数は、単体の波形データを再生する場合にのみ利用可能です。
シーケンスデータには利用できません。
(シーケンスデータに対して使用した場合、 シーケンス中で最初に見つかった波形データに対して同期処理が行われてしまいます。)

本関数で再生位置を調整可能なコーデックは、以下のコーデックのみです。
  • ADX
  • HCA
  • Wave

他のコーデックについては、本関数を用いた同期再生は行えません。
(HCA-MXや、ハードウェアデコードを行う音声コーデックでは、本機能は利用できません。)

本機能による再生位置の同期は、可能な限りサンプル単位で行いますが、 1サンプルの誤差なく結合することを保証するものではありません。
(ミリ秒レベルのズレが許容される場合にのみご利用ください。)
また、再生位置の同期精度は、プラットフォームによっても異なります。

本関数と criAtomExPlayer_SetStartTime 関数を併用することはできません。
本関を使用した場合、音声の再生開始位置はライブラリ内で自動的に調整されます。
そのため、本関数と criAtomExPlayer_SetStartTime 関数を併用することはできません。
criAtomExPlayer_SetStartTime 関数の設定は無視されます。)

本関数を使用して再生を行った場合、再生開始時にノイズが入る場合があります。
本機能を使用する場合、可能な限りフェードイン処理を併用してください。

本関数を使用してキュー再生を行った場合、 criAtomExPlayer_GetTime 関数や criAtomExPlayback_GetTime 関数による再生時刻の取得は正しく行えません。
再生時刻の確認には、これらの関数の代わりに、 criAtomExPlayback_GetNumPlayedSamples 関数をご利用ください。

暗号化されたADXデータは、データの先頭から順次復号する必要があります。
そのため、暗号化されたADXデータを途中から再生した場合、 再生開始時にシーク位置までの復号計算が発生し、 処理負荷が大幅に跳ね上がる恐れがあります。
参照:
criAtomExPlayback_GetNumPlayedSamples

void CRIAPI criAtomExPlayer_SetPlaybackRatio ( CriAtomExPlayerHn  player,
CriFloat32  playback_ratio 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] playback_ratio シーケンス再生レシオ
説明:
AtomExプレーヤーで再生するシーケンスの再生レシオを設定します。
再生レシオの設定範囲は 0.0f 〜 2.0f です。
範囲外の値を設定した場合は、下限値もしくは上限値が設定されます。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
本関数による設定値は、シーケンスタイプのキューを再生する場合にのみ適用されます。
シーケンスにて発音する波形データの再生レシオには利用できません。
参照:
criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_LimitLoopCount ( CriAtomExPlayerHn  player,
CriSint32  count 
)

ループ回数の制限

引数:
[in] player AtomExプレーヤーハンドル
[in] count ループ制限回数
説明:
波形データのループ再生回数を制限します。
例えば、countに1を指定した場合、ループ波形データは1回のみループして再生を終了します。
(ループエンドポイントに到達後、1回だけループスタート位置に戻ります。)
備考:
デフォルト状態では、ループポイント付きの音声データは無限にループ再生されます。
ループ回数を一旦制限した後、ループ回数を再度無限回に戻したい場合には、 count に CRIATOMEXPLAYER_NO_LOOP_LIMITATION を指定してください。

count に CRIATOMEXPLAYER_IGNORE_LOOP を指定することで、 ループポイント付きの音声データをループさせずに再生することも可能です。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
ループ制限回数の指定は、音声再生開始前に行う必要があります。
再生中に本関数を実行しても、ループ回数は変更されません。
再生中の任意のタイミングでループ再生を停止したい場合、 ループ再生ではなく、シームレス連結再生で制御を行ってください。

本関数で指定したループ制限回数は、 あらかじめループポイントが設定された波形データを再生する場合にのみ適用されます。
波形データ自体にループポイントが設定されていない場合、 本関数を実行しても何の効果もありません。

本関数を使用してループ回数を指定した場合でも、 ループ終了時にループエンドポイント以降の波形データが再生されることはありません。
(指定回数分ループした後、ループエンドポイントで再生が停止します。)

例外的に、以下の条件を満たす場合に限り、(ループはされませんが) ワンショットでループポイント以降のデータを含めて再生することが可能です。
  • criatomencd.exe で -nodelterm を指定してデータをエンコードする。
  • 本関数に CRIATOMEXPLAYER_IGNORE_LOOP を指定してから再生を行う。

本関数でループ回数を制限できるのは、ADXコーデックとHCAコーデックのみです。
プラットフォーム依存の音声コーデックに対して本関数を実行しないでください。
(再生が終了しない、ノイズが発生する等の問題が発生します。)
参照:
criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_UpdateAll ( CriAtomExPlayerHn  player  ) 

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

引数:
[in] player AtomExプレーヤーハンドル
説明:
AtomExプレーヤーに設定されている再生パラメーター(AISACコントロール値を含む)を使用して、 このAtomExプレーヤーで再生中の音全ての再生パラメーターを更新します。
例:
 CriFloat32 volume;
 // Start playback
 criAtomExPlayer_Start(player);
                :
 criAtomExPlayer_Start(player);
                :
 // Change Volume
 volume = 0.3f;
 criAtomExPlayer_SetVolume(player, volume);
 criAtomExPlayer_UpdateAll(player);
参照:
criAtomExPlayer_Update

void CRIAPI criAtomExPlayer_Update ( CriAtomExPlayerHn  player,
CriAtomExPlaybackId  id 
)

再生パラメーターの更新(再生ID指定)

引数:
[in] player AtomExプレーヤーハンドル
[in] id 再生ID
説明:
AtomExプレーヤーに設定されている再生パラメーター(AISACコントロール値を含む)を使用して、 再生IDによって指定された音声の再生パラメーターを更新します。
例:
 CriFloat32 volume;
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 // Change Volume
 volume = 0.3f;
 criAtomExPlayer_SetVolume(player, volume);
 criAtomExPlayer_Update(player, id);
備考:
再生IDは、このAtomExプレーヤーで再生された音声を指している必要があります。
参照:
criAtomExPlayer_UpdateAll

void CRIAPI criAtomExPlayer_ResetParameters ( CriAtomExPlayerHn  player  ) 

再生パラメーターの初期化

引数:
[in] player AtomExプレーヤーハンドル
説明:
AtomExプレーヤーに設定されている再生パラメーター(AISACコントロール値を含む)をリセットし、初期状態(未設定状態)に戻します。
本関数呼び出し後、criAtomExPlayer_Start 関数により再生開始すると、初期状態の再生パラメーターで再生されます。
例:
 CriFloat32 volume;
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 // Change Volume
 volume = 0.3f;
 criAtomExPlayer_SetVolume(player, volume);
 criAtomExPlayer_Update(player, id);
                :
 // Reset Parameters
 criAtomExPlayer_ResetParameters(player);
 id = criAtomExPlayer_Start(player);
備考:
本関数呼び出し後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出したとしても、すでに再生されている音声のパラメーターは初期値には戻りません。
すでに再生されている音声のパラメーターを変える場合は、明示的にcriAtomExPlayer_SetVolume 関数等を呼び出してください。

本関数でリセットされるパラメーターは、各パラメーターの設定を行う関数に対象かどうかを記載しているため、そちらを参照して下さい。

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

CriFloat32 CRIAPI criAtomExPlayer_GetParameterFloat32 ( CriAtomExPlayerHn  player,
CriAtomExParameterId  id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] id パラメーターID
戻り値:
パラメーター設定値
説明:
AtomExプレーヤーに設定されている各種パラメーターの値を取得します。
値は浮動小数点数で取得されます。
参照:
CriAtomExParameterId, criAtomExPlayer_GetParameterUint32, criAtomExPlayer_GetParameterSint32

CriUint32 CRIAPI criAtomExPlayer_GetParameterUint32 ( CriAtomExPlayerHn  player,
CriAtomExParameterId  id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] id パラメーターID
戻り値:
パラメーター設定値
説明:
AtomExプレーヤーに設定されている各種パラメーターの値を取得します。
値は符号なし整数で取得されます。
参照:
CriAtomExParameterId, criAtomExPlayer_GetParameterFloat32, criAtomExPlayer_GetParameterSint32

CriSint32 CRIAPI criAtomExPlayer_GetParameterSint32 ( CriAtomExPlayerHn  player,
CriAtomExParameterId  id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] id パラメーターID
戻り値:
パラメーター設定値
説明:
AtomExプレーヤーに設定されている各種パラメーターの値を取得します。
値は符号付き整数で取得されます。
参照:
CriAtomExParameterId, criAtomExPlayer_GetParameterFloat32, criAtomExPlayer_GetParameterUint32

void CRIAPI criAtomExPlayer_SetVolume ( CriAtomExPlayerHn  player,
CriFloat32  volume 
)

ボリュームの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] volume ボリューム値
説明:
出力音声のボリュームを指定します。
本関数でボリュームを設定後、criAtomExPlayer_Start 関数で再生を開始すると、 設定されたボリュームで音声が再生されます。
またボリューム設定後に criAtomExPlayer_Update 関数や criAtomExPlayer_UpdateAll 関数を呼び出すことで、すでに再生された音声のボリュームを更新することも可能です。

ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
ボリュームのデフォルト値は1.0fです。
例:
// ボリュームの設定
 criAtomExPlayer_SetVolume(player, 0.5f);
 
 // 再生の開始
 // 備考)ボリュームはプレーヤーに設定された値(=0.5f)で再生される。
 id = criAtomExPlayer_Start(player);
    :
 // ボリュームの変更
 // 注意)この時点では再生中の音声のボリュームは変更されない。
 criAtomExPlayer_SetVolume(player, 0.3f);
 
 // プレーヤーに設定されたボリュームを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
ボリューム値には0.0f以上の値が設定可能です。
(Atomライブラリ Ver.1.21.07より、 ボリューム値に1.0fを超える値を指定できるようになりました。)
1.0fを超える値をセットした場合、プラットフォームによっては、 波形データを元素材よりも大きな音量で再生可能です。
ボリューム値に0.0f未満の値を指定した場合、値は0.0fにクリップされます。
(ボリューム値に負の値を設定した場合でも、 波形データの位相が反転されることはありません。)

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

デシベルで設定したい場合、以下の計算式で変換してから設定してください。
 volume = powf(10.0f, db_vol / 20.0f);
※db_volがデシベル値、volumeがボリューム値です。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
1.0fを超えるボリュームを指定する場合、以下の点に注意する必要があります。
  • プラットフォームごとに挙動が異なる可能性がある。
  • 音割れが発生する可能性がある。

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

また、音量を上げることが可能な機種であっても、 ハードウェアで出力可能な音量には上限があるため、 音割れによるノイズが発生する可能性があります。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPitch ( CriAtomExPlayerHn  player,
CriFloat32  pitch 
)

ピッチの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] pitch ピッチ(セント単位)
説明:
出力音声のピッチを指定します。
本関数でピッチを設定後、criAtomExPlayer_Start 関数で再生を開始すると、 設定されたピッチで音声が再生されます。
またピッチ後に criAtomExPlayer_Update 関数や criAtomExPlayer_UpdateAll 関数を呼び出すことにより、すでに再生された音声のピッチを更新することが可能です。

ピッチはセント単位で指定します。
1セントは1オクターブの1/1200です。半音は100セントです。
例えば、100.0fを指定した場合、ピッチが半音上がります。-100.0fを指定した場合、 ピッチが半音下がります。
ピッチのデフォルト値は0.0fです。
例:
// ピッチの設定
 criAtomExPlayer_SetPitch(player, 100.0f);
 
 // 再生の開始
 // 備考)ピッチはプレーヤーに設定された値(=0.5f)で再生される。
 id = criAtomExPlayer_Start(player);
    :
 // ピッチの変更
 // 注意)この時点では再生中の音声のピッチは変更されない。
 criAtomExPlayer_SetPitch(player, -200.0f);
 
 // プレーヤーに設定されたピッチを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
キュー再生時、データ側にピッチが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のピッチが-100.0f、AtomExプレーヤーのピッチが200.0fの場合、 実際に適用されるピッチは100.0fになります。
サンプリングレートの周波数比率で設定したい場合、以下の計算式で変換してから設定してください。
 pitch = 1200.0f*logf(freq_ratio)/logf(2.0f);
※freq_ratioが周波数比率、pitchがピッチの値です。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
HCA-MX用にエンコードされた音声データは、ピッチの変更ができません。
(本関数を実行しても、ピッチは変わりません。)
ピッチを変更したい音声については、ADXやHCA等、他のコーデックでエンコードを行ってください。

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

再生サンプリングレートの上下によりピッチを実装しているため、 ピッチを変更すると音程と一緒に再生速度も変化します。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetMaxPitch, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetMaxPitch ( CriAtomExPlayerHn  player,
CriFloat32  pitch 
)

最大ピッチの設定

引数:
[in] player Atomプレーヤーハンドル
[in] pitch 最大ピッチ
説明:
音声の最大ピッチを設定します。
本関数で最大ピッチを指定することで、指定範囲内でのピッチ変更が即座に反映されるようになります。
備考:
Atom Ver.2.10.00以前のライブラリでは、ピッチを上げた際に音が途切れる (再生速度が速くなった結果、音声データの供給が足りなくなる)ケースがありました。
この対策として、Atom Ver.2.10.00ではピッチを上げても音が途切れないよう、 音声を充分にバッファリングしてからピッチを上げるよう動作を変更しています。
修正により、ピッチ操作によって音が途切れることはなくなりましたが、 ピッチを上げる際にバッファリングを待つ時間分だけピッチ変更が遅れる形になるため、 音の変化が以前のバージョンと比べて緩慢になる可能性があります。
(短時間にピッチを上げ下げするケースにおいて、音の鳴り方が変わる可能性があります。)

本関数で最大ピッチをあらかじめ設定した場合、 指定された速度を想定して常にバッファリングが行われるようになるため、 (指定された範囲内の周波数においては)バッファリングなしにピッチ変更が即座に行われます。
短時間にピッチを上げ下げするケースについては、 予想される最大ピッチをあらかじめ本関数で設定してから再生を行ってください。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_SetPitch, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPan3dAngle ( CriAtomExPlayerHn  player,
CriFloat32  pan3d_angle 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] pan3d_angle パンニング3D角度(-180.0f〜180.0f:度単位)
説明:
パンニング3D角度を指定します。
本関数でパンニング3D角度を設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたパンニング3D角度で再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンニング3D角度を更新することができます。

角度は度単位で指定します。
前方を0度とし、右方向(時計回り)に180.0f、左方向(反時計回り)に-180.0fまで設定できます。
例えば、45.0fを指定した場合、右前方45度に定位します。-45.0fを指定した場合、左前方45度に定位します。
例:
// パンニング3D角度の設定
 criAtomExPlayer_SetPan3dAngle(player, 45.0f);
 
 // 再生の開始
 // 備考)パンニング3D角度はプレーヤーに設定された値(=45.0f)で再生される。
 id = criAtomExPlayer_Start(player);
    :
 // パンニング3D角度の変更
 // 注意)この時点では再生中の音声のパンニング3D角度は変更されない。
 criAtomExPlayer_SetPan3dAngle(player, -45.0f);
 
 // プレーヤーに設定されたパンニング3D角度を再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
キュー再生時、データ側にパンニング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の範囲を超えて設定可能です。)

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPan3dInteriorDistance ( CriAtomExPlayerHn  player,
CriFloat32  pan3d_interior_distance 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] pan3d_interior_distance パンニング3D距離(-1.0f〜1.0f)
説明:
パンニング3Dでインテリアパンニングを行う際の距離を指定します。
本関数でパンニング3D距離を設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたパンニング3D距離で再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンニング3D距離を更新することができます。

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

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPan3dVolume ( CriAtomExPlayerHn  player,
CriFloat32  pan3d_volume 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] pan3d_volume パンニング3Dボリューム(0.0f〜1.0f)
説明:
パンニング3Dのボリュームを指定します。
本関数でパンニング3Dボリュームを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたパンニング3Dボリュームで再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンニング3Dボリュームを更新することができます。

パンニング3Dボリュームは、パンニング3D成分と、 センター/LFEへの出力レベルとを個別に制御する場合に使用します。
例えば、センドレベルで常にLFEから一定のボリュームで出力させておき、 定位はパンニング3Dでコントロールするような場合です。
値の範囲や扱いは、通常のボリュームと同等です。criAtomExPlayer_SetVolume 関数を参照してください。
例:
// パンニング3Dボリュームの設定
 criAtomExPlayer_SetPan3dVolume(player, 0.8f);
 
 // 再生の開始
 // 備考)パンニング3Dボリュームはプレーヤーに設定された値(=0.5f)で再生される。
 id = criAtomExPlayer_Start(player);
    :
 // パンニング3Dボリュームの変更
 // 注意)この時点では再生中の音声のパンニング3Dボリュームは変更されない。
 criAtomExPlayer_SetPan3dVolume(player, 0.7f);
 
 // プレーヤーに設定されたパンニング3Dボリュームを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetVolume, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPanType ( CriAtomExPlayerHn  player,
CriAtomExPanType  pan_type 
)

パンタイプの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] pan_type パンタイプ
説明:
パンタイプを指定します。
本関数でパンタイプを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたパンタイプで再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のパンタイプを更新することができます。
備考:
キュー再生時に本関数を呼び出すと、データ側に設定されているパンタイプ設定を上書きします(データ側の設定値は無視されます)。
通常はデータ側でパンタイプが設定されているため、本関数を呼び出す必要はありません。
ACBファイルを使用せずに音声を再生する場合に、3Dポジショニング処理を有効にするためには、本関数でCRIATOMEX_PAN_TYPE_3D_POSを設定してください。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
CRIATOMEX_PAN_TYPE_UNKNOWN を指定して実行した場合、エラーが発生します。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, CriAtomExPanType, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPanSpeakerType ( CriAtomExPlayerHn  player,
CriAtomExPanSpeakerType  pan_speaker_type 
)

パンニング時の出力スピーカータイプ設定

引数:
[in] player AtomExプレーヤーハンドル
[in] pan_speaker_type パンニング時の出力スピーカータイプ
説明:
パンニング時の出力スピーカータイプを指定します。
本関数でパンニング時の出力スピーカータイプを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定された出力スピーカータイプでパンニング計算されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声の出力スピーカータイプを更新することができます。
備考:
本関数の設定はパン3Dと3Dポジショニングにおけるパンニング計算に影響します。
ライブラリ初期化時のデフォルト値は4chパンニング(CRIATOMEX_PAN_SPEAKER_TYPE_4CH)です。
デフォルト値はcriAtomExPlayer_ChangeDefaultPanSpeakerType 関数にて変更可能です。
ステレオスピーカーのプラットフォームでは、どれを選んだとしても最終的にはステレオにダウンミックスされます。

本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, CriAtomExPanSpeakerType, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_AddMixDownCenterVolumeOffset ( CriAtomExPlayerHn  player,
CriFloat32  mixdown_center_volume_offset 
)

MixDownCenterボリュームオフセット値の設定

引数:
[in] player AtomExプレーヤーハンドル
[in] mixdown_center_volume_offset MixDownCenterボリュームのオフセット値
説明:
Center, LFE以外の信号をモノラルにミックスしてCenterに出力するためのボリューム値を設定します。
本関数による設定値は、CRI Atom Craftによるデータ設定値に対して加算適用されます。
本関数の第二引数mixdown_center_volume_offsetには0〜1の浮動小数点値で出力ボリュームを設定してください。
注意:
設定値の範囲外確認は行われません。範囲外を設定する際には以下の点に注意してください。
1より大きい値:出力振幅値の増幅によりクリッピングノイズ等が発生することがあります。
負値:データ設定値との和が負となった場合は、正値結果に対して位相を反転した結果が出力されます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, CriAtomExPanSpeakerType, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_AddMixDownLfeVolumeOffset ( CriAtomExPlayerHn  player,
CriFloat32  mixdown_lfe_volume_offset 
)

MixDownLFEボリュームオフセット値の設定

引数:
[in] player AtomExプレーヤーハンドル
[in] mixdown_lfe_volume_offset MixDownLFEボリュームのオフセット値
説明:
Center, LFE以外の信号をモノラルにミックスしてLFEに出力するためのボリューム値を設定します。
本関数による設定値は、CRI Atom Craftによるデータ設定値に対して加算適用されます。
本関数の第二引数mixdown_lfe_volume_offsetには0〜1の浮動小数点値で出力ボリュームを設定してください。
注意:
設定値の範囲外確認は行われません。範囲外を設定する際には以下の点に注意してください。
1より大きい値:出力振幅値の増幅によりクリッピングノイズ等が発生することがあります。
負値:データ設定値との和が負となった場合は、正値結果に対して位相を反転した結果が出力されます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, CriAtomExPanSpeakerType, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_ChangeDefaultPanSpeakerType ( CriAtomExPanSpeakerType  pan_speaker_type  ) 

パンニング時の出力スピーカータイプ設定のデフォルト値変更

引数:
[in] pan_speaker_type パンニング時の出力スピーカータイプ
説明:
パンニング時の出力スピーカータイプのデフォルト値を変更します。
criAtomExPlayer_SetPanSpeakerType 関数を実行していないAtomExプレーヤーは、全て本関数で設定した出力スピーカータイプで再生されます。
備考:
本関数の設定はパン3Dと3Dポジショニングにおけるパンニング計算に影響します。
ライブラリ初期化時のデフォルト値は4chパンニング(CRIATOMEX_PAN_SPEAKER_TYPE_4CH)です。
ステレオスピーカーのプラットフォームでは、どれを選んだとしても最終的にはステレオにダウンミックスされます。

本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。
注意:
再生中の音声がデフォルト値を参照するタイミングはユーザーの操作に依存します。
そのため、再生中にデフォルト値を変更した場合、意図したタイミングで変更が反映されるとは限りません。
本関数を使用する場合、初期化時など音声を再生する前に実行するようにしてください。
参照:
criAtomExPlayer_SetPanSpeakerType, CriAtomExPanSpeakerType

void CRIAPI criAtomExPlayer_SetPanAngleType ( CriAtomExPlayerHn  player,
CriAtomExPanAngleType  pan_angle_type 
)

パンニング時の角度タイプ設定

引数:
[in] player AtomExプレーヤーハンドル
[in] pan_angle_type パンニング時の角度タイプ
説明:
パンニング時の角度タイプを指定します。
角度タイプは、マルチチャンネル(ステレオ、5.1ch等)の音声素材をパンニングするときに、各入力チャンネルをどのような角度として扱うかを表します。
本関数でパンニング時の角度タイプを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定された角度タイプでパンニング計算されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声の角度タイプを更新することができます。
備考:
本関数の設定はパン3Dと3Dポジショニングにおけるパンニング計算に影響します。
デフォルト値はオフセット(CRIATOMEX_PAN_ANGLE_TYPE_OFFSET)です。
本関数は、主にはCRI Audioとの互換用に使用します。 本関数で CRIATOMEX_PAN_ANGLE_TYPE_FIX を設定することで、CRI Audioでのパン3D計算と同じ挙動になります。

本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, CriAtomExPanAngleType, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPanSpread ( CriAtomExPlayerHn  player,
CriFloat32  spread 
)

パンニング時の音の広がり設定

引数:
[in] player AtomExプレーヤーハンドル
[in] spread マルチチャンネル音声の広がり
説明:
パンニング時の音の広がりを指定します。
マルチチャンネル(ステレオ、5.1ch等)の音声素材をパンニングするときに、各入力チャンネル間の角度をどれだけ広げるかを指定します。
引数 spread の値域は 0.0 〜 1.0 です。デフォルト値は 1.0 です。
例えばステレオ音声を広がり0.5で再生すると、正面から見て左チャンネルは-15度(-30度*0.5)、右チャンネルは15度(30度*0.5)に定位するようパンニング計算されます。
モノラル音声には影響しません。
備考:
本関数でパンニング時の角度タイプを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定された広がりでパンニング計算されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声の広がりを更新することができます。

本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetSendLevel ( CriAtomExPlayerHn  player,
CriSint32  ch,
CriAtomExSpeakerId  spk,
CriFloat32  level 
)

センドレベルの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] ch チャンネル番号
[in] spk スピーカーID
[in] level センドレベル値(0.0f〜1.0f)
説明:
センドレベルを指定します。
センドレベルは、音声データの各チャンネルの音声を、どのスピーカーから どの程度の音量で出力するかを指定するための仕組みです。
本関数でセンドレベルを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたセンドレベルで再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のセンドレベルを更新することができます。

第2引数のチャンネル番号は"音声データのチャンネル番号"を指定します。
第3引数のスピーカーIDには、指定したチャンネル番号のデータをどのスピーカーから 出力するかを指定し、第4引数では送信時のレベル(ボリューム)を指定します。
例えば、音声データのチャンネル0番のデータをライトスピーカーから フルボリューム(1.0f)で出力したい場合、指定は以下のようになります。
センドレベル値の範囲や扱いは、ボリュームと同等です。criAtomExPlayer_SetVolume 関数を参照してください。

なお、センタースピーカーのあるプラットフォームで、モノラル音をセンタースピーカーのみから出力したい場合、 本関数ではなくcriAtomExPlayer_SetPanSpeakerType 関数でCRIATOMEX_PAN_SPEAKER_TYPE_5CH を設定することをお薦めします。
例:
 CriSint32 ch = 0;  // channel number 0
 CriAtomExSpeakerId spk = CRIATOMEX_SPEAKER_FRONT_CENTER;
 CriFloat32 level = 1.0f;
 // Set send level(ch0 to center)
 criAtomExPlayer_SetSendLevel(player, ch, spk, level);
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 // Change send level
 level = 0.7f;
 criAtomExPlayer_SetSendLevel(player, ch, spk, level);
 criAtomExPlayer_Update(player, id);
備考:
センドレベルの設定には「自動設定」「手動設定」の2通りが存在します。
AtomExプレーヤーを作成した直後や、 criAtomExPlayer_ResetParameters 関数で パラメーターをクリアした場合、センドレベルの設定は「自動設定」となります。
これに対し、本関数を実行した場合、センドレベルの設定は「手動設定」になります。
(ユーザが各スピーカーへのセンドレベルをコントロールし、パンニングを行う必要があります。)

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

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

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

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

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

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

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

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

本パラメーターはデータ側には設定できないため、常に本関数の設定値が適用されます。
注意:
センドレベルを設定していないチャンネルについては、音声が出力されません。
例えば、再生する音声データがステレオにもかかわらず、どちらか一方のチャンネルに対して しかセンドレベルが設定されていない場合、センドレベルを設定していないチャンネルの音声 はミュートされます。
センドレベルをコントロールする際には、必ず出力を行いたい全てのチャンネルについてセンド レベルの設定を行ってください。

本関数を用いてセンドレベルを設定した場合、パン3Dや3Dポジショニングの設定は無視されます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetVolume, criAtomExPlayer_SetPanSpeakerType, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetBusSendLevelByName ( CriAtomExPlayerHn  player,
const CriChar8 *  bus_name,
CriFloat32  level 
)

バスセンドレベルの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] bus_name バス名
[in] level センドレベル値(0.0f〜1.0f)
説明:
バスセンドレベルを指定します。
バスセンドレベルは、音声をどのバスにどれだけ流すかを指定するための仕組みです。
本関数でバスセンドレベルを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたバスセンドレベルで再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のバスセンドレベルを更新することができます。
キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを乗算した値が適用されます。

第2引数にはDSPバス設定内のバス名を指定します。
第3引数では送信時のレベル(ボリューム)を指定します。

第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない場合、設定値は無効値として処理されます。
センドレベル値の範囲や扱いは、ボリュームと同等です。criAtomExPlayer_SetVolume 関数を参照してください。
例:
// バスセンドレベルを設定
 cosnt CriChar8* bus_name = "Reverb";
 CriFloat32 level = 0.3f;
 criAtomExPlayer_SetBusSendLevelByName(player, bus_name, level);
 
 // 再生の開始
 id = criAtomExPlayer_Start(player);
    :
 // パラメーターの変更
 // 注意)この時点では再生中の音声のパラメーターは変更されない。
 level = 0.5f;
 criAtomExPlayer_SetBusSendLevelByName(player, bus_name, level);
 
 // プレーヤーに設定されたパラメーターを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
本関数に異なるバス名を指定して複数回呼び出すことで、複数のバスに流すこともできます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetVolume, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetBusSendLevelOffsetByName ( CriAtomExPlayerHn  player,
const CriChar8 *  bus_name,
CriFloat32  level_offset 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] bus_name バス名
[in] level_offset センドレベル値(0.0f〜1.0f)
説明:
バスセンドレベルをオフセットで指定します。
キュー再生時、データ側にバスセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
それ以外の仕様は criAtomExPlayer_SetBusSendLevel 関数と同様です。
備考:
criAtomExPlayer_SetBusSendLevel 関数で 0.0f を設定し、かつ本関数でオフセット値を設定することで、
データ側に設定されていたバスセンドレベルを無視して値が設定可能です。(上書き設定)

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_SetBusSendLevel, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPanAdx1Compatible ( CriAtomExPlayerHn  player,
CriSint32  ch,
CriFloat32  pan 
)

ADX1互換のパンの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] ch チャンネル番号
[in] pan パン設定値(-1.0f〜1.0f)
説明:
ADX1互換のパン設定関数です。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
本関数はADX1からの移植タイトル用に用意されています。
ADX2環境で新規にパン操作を行うアプリケーションを作成する場合、 criAtomExPlayer_SetPan3dAngle 関数を使用してください。

本関数でパンを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたパンで再生されます。
すでに再生された音声のパンを変更する場合、本関数で新たなパン設定をプレーヤーに指定し、 criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数で再生中の音声にそのパラメーターを適用する必要があります。

本関数でパンをコントロール可能なのは、モノラル音声とステレオ音声のみです。 また、左右の定位のみコントロールできます。
3ch以上の音声に対してパンをコントロールしたい場合や、前後を含めた定位をコントロールしたい場合には、 criAtomExPlayer_SetPan3dAngle 関数やcriAtomExPlayer_SetSendLevel 関数を使用する必要があります。

再生する音声データがステレオの場合、チャンネル0番とチャンネル1番のそれぞれのパン について、独立してコントロールすることが可能です。
ただし、設定されたパンがモノラル音声向けなのか、ステレオ音声向けなのかは区別 されないため、ステレオ設定用にパン設定を行ったAtomExプレーヤーでモノラル音声を再生 した場合、意図としない位置に音源が定位する可能性があります。

再生する音声データがステレオにもかかわらず、どちらか一方のチャンネルに対して しかパンが設定されていない場合、パンを設定していないチャンネルの音声の定位位置 は 0.0f (中央からの出力)になります。
ステレオ音声のパンをコントロールする際には、必ず両方のチャンネルについてパンの 設定を行ってください。

本関数とcriAtomExPlayer_SetPan3dAngle 関数や criAtomExPlayer_SetSendLevel 関数を併用しないでください。
両者を併用した場合、意図しないパンで再生される可能性があります。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetPan3dAngle, criAtomExPlayer_SetSendLevel, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetBandpassFilterParameters ( CriAtomExPlayerHn  player,
CriFloat32  cof_low,
CriFloat32  cof_high 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] cof_low 正規化低域カットオフ周波数(0.0f〜1.0f)
[in] cof_high 正規化高域カットオフ周波数(0.0f〜1.0f)
説明:
バンドパスフィルターのカットオフ周波数を指定します。
本関数でカットオフ周波数を設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたカットオフ周波数でバンドパスフィルターが動作します。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対してバンドパスフィルターのカットオフ周波数を更新することができます。

正規化カットオフ周波数は、対数軸上の24Hz〜24000Hzを、0.0f〜1.0fに正規化した値です。
例えば、正規化低域カットオフ周波数を0.0f、正規化高域カットオフ周波数を1.0fと指定すると、 バンドパスフィルターは全域が通過し、正規化低域カットオフ周波数を上げるほど、 また正規化高域カットオフ周波数を下げるほど、通過域が狭くなっていきます。
例:
// フィルターのパラメーターを設定
 CriFloat32 cof_low = 0.0f;
 CriFloat32 cof_high = 0.3f;
 criAtomExPlayer_SetBandpassFilterParameters(player, cof_low, cof_high);
 
 // 再生の開始
 id = criAtomExPlayer_Start(player);
    :
 // パラメーターの変更
 // 注意)この時点では再生中の音声のパラメーターは変更されない。
 cof_low = 0.7f;
 cof_high = 1.0f;
 criAtomExPlayer_SetBandpassFilterParameters(player, cof_low, cof_high);
 
 // プレーヤーに設定されたパラメーターを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
キュー再生時、データ側にバンドパスフィルターのパラメーターが設定されている場合に本関数を呼び出すと、 以下のように設定されます。
  • 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にクリップされます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetBiquadFilterParameters ( CriAtomExPlayerHn  player,
CriAtomExBiquadFilterType  type,
CriFloat32  frequency,
CriFloat32  gain,
CriFloat32  q_value 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] type フィルタータイプ
[in] frequency 正規化周波数(0.0f〜1.0f)
[in] gain ゲイン(デシベル値)
[in] q_value Q値
説明:
バイクアッドフィルターの各種パラメーターを指定します。
本関数でパラメーターを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたパラメーターでバイクアッドフィルターが動作します。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対してバイクアッドフィルターのパラメーターを更新することができます。

正規化周波数は、対数軸上の24Hz〜24000Hzを、0.0f〜1.0fに正規化した値です。
ゲインはデシベルで指定します。
ゲインはフィルタータイプが以下の場合のみ有効です。
  • CRIATOMEX_BIQUAD_FILTER_TYPE_LOWSHELF:ローシェルフフィルター
  • CRIATOMEX_BIQUAD_FILTER_TYPE_HIGHSHELF:ハイシェルフフィルター
  • CRIATOMEX_BIQUAD_FILTER_TYPE_PEAKING:ピーキングフィルター
例:
// フィルターのパラメーターを設定
 CriAtomExBiquadFilterType type = CRIATOMEX_BIQUAD_FILTER_TYPE_LOWPASS;
 CriFloat32 frequency = 0.5f;
 CriFloat32 gain = 1.0f;
 CriFloat32 q_value = 3.0f;
 criAtomExPlayer_SetBiquadFilterParameters(player, type, frequency, gain, q_value);
 
 // 再生の開始
 id = criAtomExPlayer_Start(player);
    :
 // パラメーターの変更
 // 注意)この時点では再生中の音声のパラメーターは変更されない。
 frequency = 0.7f;
 criAtomExPlayer_SetBiquadFilterParameters(player, type, frequency, gain, q_value);
 
 // プレーヤーに設定されたパラメーターを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
  • type
    データに設定された値を上書きします。
  • frequency
    データに設定された値に加算されます。
  • gain
    データに設定された値に乗算されます。
  • q_value
    データに設定された値に加算されます。

実際に適用される正規化カットオフ周波数が1.0fを超える値になった場合、値は1.0fにクリップされます。
同様に、実際に適用される正規化カットオフ周波数が0.0f未満の値になった場合も、値は0.0fにクリップされます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
HCA-MX用にエンコードされた音声データには、バイクアッドフィルターが適用されません。
バイクアッドフィルターを使用したい音声は、ADXやHCA等、他のコーデックでエンコードしてください。

ASRが利用できる環境では、ネイティブボイス出力時にフィルターを使用できません。
ASRが利用可能な環境でバイクアッドフィルターを使用したい場合には、 出力サウンドレンダラをASRに設定する必要があります。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetVoicePriority ( CriAtomExPlayerHn  player,
CriSint32  priority 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] priority ボイスプライオリティ(-255〜255)
説明:
AtomExプレーヤーにボイスプライオリティを設定します。
本関数でプライオリティをセット後、 criAtomExPlayer_Start 関数で音声を再生すると、 再生された音声は本関数でセットしたプライオリティで発音されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のプライオリティを更新することができます。

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

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

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

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

キュー再生時、データ側にボイスプライオリティが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のプライオリティが255、AtomExプレーヤーのプライオリティが45の場合、 実際に適用されるプライオリティは300になります。
本関数で設定可能な値の範囲は-255〜255ですが、ライブラリ内部の計算はCriSint32の範囲で行われるため、 データ側と加算した結果は-255〜255を超える場合があります。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
本関数は、波形データにセットされたボイスプライオリティを制御します。
Atom Craft上でキューに対して設定されたカテゴリキュープライオリティには影響を与えませんので、 ご注意ください。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetVoiceControlMethod, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetAisacControlById ( CriAtomExPlayerHn  player,
CriAtomExAisacControlId  control_id,
CriFloat32  control_value 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] control_id コントロールID
[in] control_value コントロール値(0.0f〜1.0f)
説明:
コントロールID指定でAISACのコントロール値を指定します。
本関数でAISACコントロール値を設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたAISACコントロール値で再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のAISACコントロール値を更新することができます。
設定したコントロール値を削除するには、criAtomExPlayer_ClearAisacControls 関数を使用してください。

AISACコントロール値には、0.0f〜1.0fの範囲で実数値を指定します。
例:
// AISACコントロール値の設定
 CriAtomExAisacControlId control_id = 0;
 CriFloat32 control_value = 0.5f;
 criAtomExPlayer_SetAisacControlById(player, control_id, control_value);
 
 // 再生の開始
 id = criAtomExPlayer_Start(player);
    :
 // パラメーターの変更
 // 注意)この時点では再生中の音声のパラメーターは変更されない。
 control_value = 0.3f;
 criAtomExPlayer_SetAisacControlById(player, control_id, control_value);
 
 // プレーヤーに設定されたパラメーターを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
AISACのコントロールタイプによって、以下のように挙動が変わります。
  • オフ
    • 本関数等によるAISACコントロール値が未設定の場合はそのAISACは動作しません。
  • オートモジュレーション
    • 本関数の設定値には影響されず、時間経過とともに自動的にAISACコントロール値が変化します。
  • ランダム
    • 本関数等によって設定されたAISACコントロール値を中央値として、データに設定されたランダム幅でランダマイズし、最終的なAISACコントロール値を決定します。
    • ランダマイズ処理は再生開始時のパラメーター適用でのみ行われ、再生中の音声に対するAISACコントロール値変更はできません。
    • 再生開始時にAISACコントロール値が設定されていなかった場合、0.0fを中央値としてランダマイズ処理を行います。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetAisacControlByName, criAtomExPlayer_ClearAisacControls, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetAisacControlByName ( CriAtomExPlayerHn  player,
const CriChar8 *  control_name,
CriFloat32  control_value 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] control_name コントロール名
[in] control_value コントロール値(0.0f〜1.0f)
説明:
コントロール名指定でAISACのコントロール値を指定します。
本関数でAISACコントロール値を設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたAISACコントロール値で再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声のAISACコントロール値を更新することができます。
設定したコントロール値を削除するには、criAtomExPlayer_ClearAisacControls 関数を使用してください。

AISACコントロール値の扱いはcriAtomExPlayer_SetAisacControlById 関数と同様です。
例:
// AISACコントロール値の設定
 const CriChar8 *control_name = "Any";
 CriFloat32 control_value = 0.5f;
 criAtomExPlayer_SetAisacControlByName(player, control_name, control_value);
 
 // 再生の開始
 id = criAtomExPlayer_Start(player);
    :
 // パラメーターの変更
 // 注意)この時点では再生中の音声のパラメーターは変更されない。
 control_value = 0.3f;
 criAtomExPlayer_SetAisacControlByName(player, control_name, control_value);
 
 // プレーヤーに設定されたパラメーターを再生中の音声にも反映
 criAtomExPlayer_Update(player, id);
    :
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetAisacControlById, criAtomExPlayer_ClearAisacControls, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_ClearAisacControls ( CriAtomExPlayerHn  player  ) 

プレーヤーに設定されているAISACコントロール値の削除

引数:
[in] player AtomExプレーヤーハンドル
説明:
プレーヤーに設定されているAISACコントロール値を全て削除します。
また削除後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生中の音声に対してAISACコントロール値の削除が行えます。
参照:
criAtomExPlayer_SetAisacControlById, criAtomExPlayer_SetAisacControlByName, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll

void CRIAPI criAtomExPlayer_Set3dSourceHn ( CriAtomExPlayerHn  player,
CriAtomEx3dSourceHn  source 
)

3D音源ハンドルの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] source 3D音源ハンドル
説明:
3Dポジショニングを実現するための3D音源ハンドルを設定します。
3Dリスナーハンドルと3D音源ハンドルを設定することで、3Dリスナーハンドルと3D音源ハンドルの位置関係等から定位や音量、ピッチ等が自動的に適用されます。
本関数で3D音源ハンドルを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定された3D音源ハンドルを参照して再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声が参照する3D音源ハンドルを変更することができます。
sourceにNULLを設定した場合は、すでに設定されている3D音源ハンドルをクリアします。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
3D音源ハンドルのパラメーターの変更、更新は、AtomExプレーヤーの関数ではなく、3D音源ハンドルの関数を使用して行います。
デフォルトでは、3Dポジショニングの計算は左手座標系で行われます。
右手座標系で各種ベクトルを設定する場合は、ライブラリ初期化時( criAtomEx_Initialize 関数 )の設定で CriAtomExConfig::coordinate_system にCRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED を指定してください。
ACBファイルを使用せずに音声を再生する場合は、明示的に3Dポジショニングを有効にするために、criAtomExSetPanType 関数でCRIATOMEX_PAN_TYPE_3D_POSを設定する必要があります。

本関数と CriAtomExPlayer_Set3dSourceListHn 関数はお互いに設定を上書きします。
例えば、CriAtomExPlayer_Set3dSourceListHn 関数にて3D音源ハンドルリストをAtomExプレーヤーに設定後、本関数にてAtomExプレーヤーに3D音源ハンドルを設定すると、 AtomExプレーヤーには新たに3D音源ハンドルが設定され、既に設定されていた3D音源ハンドルリストはAtomExプレーヤーからクリアされます。
本関数を用いてAtomExプレーヤーに設定された3D音源ハンドルは、3D音源ハンドルリストに追加することはできません。 もし3D音源ハンドルリストに追加する場合は、既に設定されているAtomExプレーヤーの3D音源ハンドルに関する設定をクリアしてください。
例:
 CriAtomEx3dListenerHn listener;
 CriAtomEx3dSourceHn source;
 CriAtomExVector pos;

 listener = criAtomEx3dListener_Create(NULL, NULL, 0);
 source = criAtomEx3dSource_Create(NULL, NULL, 0);
 player = criAtomExPlayer_Create(NULL, NULL, 0);
 criAtomExPlayer_Set3dListenerHn(player, listener);
 criAtomExPlayer_Set3dSourceHn(player, source);

 pos.x = 0.0f;
 pos.y = 0.0f;
 pos.z = 0.0f;
 criAtomEx3dSource_SetPosition(source, &pos);
 criAtomEx3dSource_Update(source);
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 pos.x += 10.0f;
 criAtomEx3dSource_SetPosition(source, &pos);
 criAtomEx3dSource_Update(source);
参照:
CriAtomEx3dSourceHn, CriAtomEx3dSourceListHn, criAtomExPlayer_Set3dSourceListHn, criAtomEx3dListenerHn, criAtomExPlayer_SetListenerHn, criAtomExPlayer_Update, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_Set3dSourceListHn ( CriAtomExPlayerHn  player,
CriAtomEx3dSourceListHn  source_list 
)

3D音源ハンドルリストの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] source_list 3D音源ハンドルリスト
説明:
マルチポジショニング再生を実現するための3D音源ハンドルリストを設定します。
3Dリスナーハンドルと3D音源ハンドルリストを設定することで、3Dリスナーハンドルと3D音源ハンドルリスト内の 全ての3D音源ハンドルの位置関係等から定位や音量、ピッチ等が自動的に適用されます。
本関数で3D音源ハンドルリストを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定された3D音源ハンドルリストを参照して再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声が参照する3D音源ハンドルリストを変更することができます。
source_listにNULLを設定した場合は、すでに設定されている3D音源ハンドルリストをクリアします。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
3D音源ハンドルリストに追加されている3D音源ハンドルの変更、更新は、AtomExプレーヤーの関数ではなく、3D音源ハンドルの関数を使用して行います。
右手座標系で各種ベクトルを設定する場合は、ライブラリ初期化時( criAtomEx_Initialize 関数 )の設定で CriAtomExConfig::coordinate_system にCRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED を指定してください。
ACBファイルを使用せずに音声を再生する場合は、明示的に3Dポジショニングを有効にするために、criAtomExSetPanType 関数でCRIATOMEX_PAN_TYPE_3D_POSを設定する必要があります。

本関数と CriAtomExPlayer_Set3dSourceHn 関数はお互いに設定を上書きします。
例えば、CriAtomExPlayer_Set3dSourceHn 関数にて3D音源ハンドルをAtomExプレーヤーに設定後、本関数にてAtomExプレーヤーに3D音源ハンドルリストを設定すると、 AtomExプレーヤーには新たに3D音源ハンドルリストが設定され、既に設定されていた3D音源ハンドルはAtomExプレーヤーからクリアされます。
例:
 CriAtomEx3dListenerHn listener;
 CriAtomEx3dSourceListHn source_list;
 CriAtomEx3dSourceHn source[8];
 CriAtomExVector pos[8];
 CriSint32 i;

 listener = criAtomEx3dListener_Create(NULL, NULL, 0);
 source_list = criAtomEx3dSourceList_Create(NULL, NULL, 0);
 for (i = 0; i < 8; i++) {
     source[i] = criAtomEx3dSource_Create(NULL, NULL, 0);
 
     pos[i].x = (CriFloat32)i;
     pos[i].y = 0.0f;
     pos[i].z = 0.0f;
     criAtomEx3dSource_SetPosition(source, &pos);
     criAtomEx3dSource_Update(source);
 
     criAtomEx3dSourceList_Add(source_list, source[i]);
 }
 
 player = criAtomExPlayer_Create(NULL, NULL, 0);
 criAtomExPlayer_Set3dListenerHn(player, listener);
 criAtomExPlayer_Set3dSourceListHn(player, source_list);

 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 pos[2].x += 25.0f;
 criAtomEx3dSource_SetPosition(source[2], &pos);
 criAtomEx3dSource_Update(source[2]);
 pos[5].z += 10.0f;
 criAtomEx3dSource_SetPosition(source[5], &pos);
 criAtomEx3dSource_Update(source[5]);
参照:
CriAtomEx3dSourceListHn, CriAtomEx3dSourceHn, criAtomExPlayer_Set3dSourceHn, CriAtomEx3dListenerHn, CriAtomExPlayer_Set3dListenerHn, criAtomExPlayer_Update, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_Set3dListenerHn ( CriAtomExPlayerHn  player,
CriAtomEx3dListenerHn  listener 
)

3Dリスナーハンドルの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] listener 3Dリスナーハンドル
説明:
3Dポジショニングを実現するための3Dリスナーハンドルを設定します。
3Dリスナーハンドルと3D音源ハンドルまたは3D音源ハンドルリストを設定することで、3Dリスナーと3D音源ハンドルまたは 3D音源ハンドルリスト内の全ての3D音源ハンドルの位置関係等から定位や音量、ピッチ等が自動的に適用されます。
本関数で3Dリスナーハンドルを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定された3Dリスナーハンドルを参照して再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声が参照する3Dリスナーハンドルを変更することができます。
listenerにNULLを設定した場合は、すでに設定されている3Dリスナーハンドルをクリアします。
備考:
本関数で3Dリスナーハンドルを設定していなくても、以下の条件を満たしている場合は自動的に3D音源に対して最も距離の近い3Dリスナーが割り当てられます。
  • 3D音源ハンドルまたは3D音源ハンドルリストが設定されている
  • 3DリスナーがcriAtomEx3dListener_Createによって作成されている

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
3Dリスナーハンドルのパラメーターの変更、更新は、AtomExプレーヤーの関数ではなく、3Dリスナーハンドルの関数を使用して行います。
デフォルトでは、3Dポジショニングの計算は左手座標系で行われます。
右手座標系で各種ベクトルを設定する場合は、ライブラリ初期化時( criAtomEx_Initialize 関数 )の設定で CriAtomExConfig::coordinate_system にCRIATOMEX_COORDINATE_SYSTEM_RIGHT_HANDED を指定してください。

例:
 CriAtomEx3dListenerHn listener;
 CriAtomEx3dSourceHn source;
 CriAtomExVector pos;

 listener = criAtomEx3dListener_Create(NULL, NULL, 0);
 source = criAtomEx3dSource_Create(NULL, NULL, 0);
 player = criAtomExPlayer_Create(NULL, NULL, 0);
 criAtomExPlayer_Set3dListenerHn(player, listener);
 criAtomExPlayer_Set3dSourceHn(player, source);

 pos.x = 0.0f;
 pos.y = 0.0f;
 pos.z = 0.0f;
 criAtomEx3dSource_SetPosition(source, &pos);
 criAtomEx3dSource_Update(source);
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 pos.x += 10.0f;
 criAtomEx3dSource_SetPosition(source, &pos);
 criAtomEx3dSource_Update(source);
参照:
CriAtomEx3dListenerHn, criAtomExPlayer_Set3dSourceHn, criAtomExPlayer_Update, criAtomExPlayer_ResetParameters

CriFloat32 CRIAPI criAtomExPlayer_GetAisacControlById ( CriAtomExPlayerHn  player,
CriAtomExAisacControlId  control_id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] control_id コントロールID
戻り値:
CriFloat32 コントロール値(0.0f〜1.0f)、未設定時は-1.0f
説明:
コントロールID指定でAISACのコントロール値を取得します。
指定したコントロールIDのAISACコントロール値が設定されていなかった場合、-1.0fを返します。
注意:
本関数は、AtomExプレーヤーに設定されたAISACコントロール値を取得します。
再生中の音声にAISACコントロール値を変更するAISACが設定されていたとしても、その変更結果を取得することはできません。
例:
 CriAtomExAisacControlId control_id = 0;
 CriFloat32 control_value = 0.5f;
 // Set AISAC control value
 criAtomExPlayer_SetAisacControlById(player, control_id, control_value);
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 // Get AISAC control value
 control_value = criAtomExPlayer_GetAisacControlById(player, control_id);
参照:
criAtomExPlayer_SetAisacControlById, criAtomExPlayer_GetAisacControlByName

CriFloat32 CRIAPI criAtomExPlayer_GetAisacControlByName ( CriAtomExPlayerHn  player,
const CriChar8 *  control_name 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] control_name コントロール名
戻り値:
CriFloat32 コントロール値(0.0f〜1.0f)、未設定時は-1.0f
説明:
コントロール名指定でAISACのコントロール値を取得します。
指定したコントロール名のAISACコントロール値が設定されていなかった場合、-1.0fを返します。
注意:
本関数は、AtomExプレーヤーに設定されたAISACコントロール値を取得します。
再生中の音声にAISACコントロール値を変更するAISACが設定されていたとしても、その変更結果を取得することはできません。
例:
 const CriChar8 *control_name = "Any";
 CriFloat32 control_value = 0.5f;
 // Set AISAC control value
 criAtomExPlayer_SetAisacControlByName(player, control_name, control_value);
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 // Get AISAC control value
 control_value = criAtomExPlayer_GetAisacControlByName(player, control_name);
参照:
criAtomExPlayer_SetAisacControlByName, criAtomExPlayer_GetAisacControlById

void CRIAPI criAtomExPlayer_SetCategoryById ( CriAtomExPlayerHn  player,
CriUint32  category_id 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] category_id カテゴリID
説明:
カテゴリID指定でカテゴリを設定します。
設定したカテゴリ情報を削除するには、 criAtomExPlayer_UnsetCategory 関数を使用します。
備考:
キュー再生時に本関数を呼び出すと、データ側に設定されているカテゴリ設定とマージされます。 その際、カテゴリグループが競合している場合には本関数の設定が有効になります。 CRI Atomライブラリ Ver.2.20.31未満では データ側に設定されているカテゴリ設定を上書きしていました。(データ側の設定値は無視されていた)。
従来の仕様で動作させたい場合はライブラリ初期化時( criAtomEx_Initialize 関数 )に CriAtomExConfigのenable_category_override_by_ex_playerにCRI_TRUEを設定してください。 本関数で設定したカテゴリ情報は、ACFのレジスト、アンレジストを行うとクリアされます。
ACFをレジストしていない状態ではデフォルトカテゴリが使用可能です。 デフォルトカテゴリIDの指定は CriAtomExCategoryDefaultId を使用してください。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
例:
 // Set default category
 criAtomExPlayer_SetCategoryById(player, (CriUint32)CRIATOMEXCATEGORY_DEFAULT_ID_BGM);
注意:
カテゴリ設定は再生開始前に行ってください。再生中の音声に対してカテゴリ設定の更新を行うと、カテゴリの再生数カウントが異常になる危険があります。
参照:
criAtomExPlayer_UnsetCategory, criAtomExPlayer_SetCategoryByName, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetCategoryByName ( CriAtomExPlayerHn  player,
const CriChar8 *  category_name 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] category_name カテゴリ名
説明:
カテゴリ名指定でカテゴリを設定します。
設定したカテゴリ情報を削除するには、 criAtomExPlayer_UnsetCategory 関数を使用します。
備考:
カテゴリ指定を名前で行うことを除き、基本的な仕様はcriAtomExPlayer_SetCategoryById 関数と同様です。 デフォルトカテゴリ名での指定を行う場合は CRIATOMEXCATEGORY_DEFAULT_NAME_??? を使用してください。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
例:
 // Set default category
 criAtomExPlayer_SetCategoryByName(player, CRIATOMEXCATEGORY_DEFAULT_NAME_BGM);
参照:
criAtomExPlayer_UnsetCategory, criAtomExPlayer_SetCategoryById, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_UnsetCategory ( CriAtomExPlayerHn  player  ) 

カテゴリの削除

引数:
[in] player AtomExプレーヤーハンドル
説明:
プレーヤーハンドルに設定されているカテゴリ情報を削除します。
例:
 // Unset category
 criAtomExPlayer_UnsetCategory(player);
参照:
criAtomExPlayer_SetCategoryByName, criAtomExPlayer_SetCategoryById

CriSint32 CRIAPI criAtomExPlayer_GetNumCategories ( CriAtomExPlayerHn  player  ) 

カテゴリ数の取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
CriSint32 カテゴリ数
説明:
プレーヤーハンドルに設定されているカテゴリの数を取得します。

CriBool CRIAPI criAtomExPlayer_GetCategoryInfo ( CriAtomExPlayerHn  player,
CriUint16  index,
CriAtomExCategoryInfo info 
)

カテゴリ情報の取得(インデックス指定)

引数:
[in] player AtomExプレーヤーハンドル
[in] index インデックス
[out] info カテゴリ情報
戻り値:
CriBool 情報が取得できたかどうか?(取得できた:CRI_TRUE/取得できない:CRI_FALSE)
説明:
インデックスを指定してプレーヤーハンドルに設定されているカテゴリ情報を取得します。
指定したインデックスのカテゴリが存在しない場合、CRI_FALSEが返ります。

void CRIAPI criAtomExPlayer_SetTrackInfo ( CriAtomExPlayerHn  player,
CriSint32  num_tracks,
const CriSint32 *  channels_per_track 
)

トラック情報の指定

引数:
[in] player AtomExプレーヤーハンドル
[in] num_tracks トラック数
[in] channels_per_track トラック当たりのチャンネル数
説明:
マルチチャンネル音声のトラック構成を指定します。
本関数を使用することで、6chの音声データをモノラル6トラックの音声や、 ステレオ3トラックの音声として扱うことが可能になります。
例:
// トラック情報の設定
    // 備考)6chの音声をステレオ3トラックとして扱う
    CriSint32 channels_per_track[3] = { 2, 2, 2 };
    criAtomExPlayer_SetTrackInfo(params.player, 3, channels_per_track);
        :
    // トラックごとにボリュームを設定
    criAtomExPlayer_SetTrackVolume(params.player, 0, 1.0f);
    criAtomExPlayer_SetTrackVolume(params.player, 1, 0.5f);
    criAtomExPlayer_SetTrackVolume(params.player, 2, 0.25f);
        :
注意:
本関数は内部的に criAtomExPlayer_SetSendLevel 関数を使用しています。
そのため、本関数実行後に criAtomExPlayer_SetSendLevel 関数を使用した場合、 音声の出力位置や出力ボリュームが意図としない結果になる可能性があります。
(同様に、 criAtomExPlayer_SetPan3dAngle 関数や criAtomExPlayer_SetSendLevel 関数も併用できません。)
本関数は、3チャンネル以上の入力に対応した機種でしか利用できません。
2チャンネル(ステレオ)以下の入力までしか対応していない機種ではリンクエラーとなります。
参照:
criAtomExPlayer_SetTrackVolume

void CRIAPI criAtomExPlayer_SetTrackVolume ( CriAtomExPlayerHn  player,
CriSint32  track_no,
CriFloat32  volume 
)

トラックのボリューム設定

引数:
[in] player AtomExプレーヤーハンドル
[in] track_no トラック番号
[in] volume トラックのボリューム
説明:
トラックごとのボリュームを設定します。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
本関数は criAtomExPlayer_SetTrackInfo 関数でトラック情報を設定した プレーヤーに対してのみ実行可能です。

本関数は内部的に criAtomExPlayer_SetSendLevel 関数を使用しています。
そのため、本関数実行後に criAtomExPlayer_SetSendLevel 関数を使用した場合、 音声の出力位置や出力ボリュームが意図としない結果になる可能性があります。
(同様に、 criAtomExPlayer_SetPan3dAngle 関数や criAtomExPlayer_SetSendLevel 関数も併用できません。)
本関数は、3チャンネル以上の入力に対応した機種でしか利用できません。
2チャンネル(ステレオ)以下の入力までしか対応していない機種ではリンクエラーとなります。
参照:
criAtomExPlayer_SetTrackInfo, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetSilentMode ( CriAtomExPlayerHn  player,
CriAtomExSilentMode  silent_mode 
)

無音時処理モードの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] silent_mode 無音時処理モード
説明:
無音時処理モードを指定します。
本関数で無音時処理モードを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定された無音時処理モードで再生されます。
また設定後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声の無音時処理モードを更新することができます。

無音時処理モードの詳細は、CriAtomExSilentMode を参照してください。
無音時処理モードのデフォルト値はCRIATOMEX_SILENT_MODE_NORMAL です。
例:
 // Set silent mode
 criAtomExPlayer_SetSilentMode(player, CRIATOMEX_SILENT_MODE_STOP);
 // Start playback
 id = criAtomExPlayer_Start(player);
                :
 // Change volume to silent
 volume = 0.0f;
 criAtomExPlayer_SetVolume(player, volume);
 criAtomExPlayer_Update(player, id);
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
CriAtomExSilentMode, criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetCuePriority ( CriAtomExPlayerHn  player,
CriSint32  cue_priority 
)

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

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

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetPreDelayTime ( CriAtomExPlayerHn  player,
CriFloat32  predelay_time_ms 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] predelay_time_ms プリディレイ(0.0f〜10000.0f)
説明:
プリディレイタイムを設定します。
本関数でプリディレイタイムを設定後、criAtomExPlayer_Start 関数により再生開始すると、 設定されたプリディレイタイム発音を待ちます。

プリディレイタイムには、0.0f〜10000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
プリディレイタイムのデフォルト値は0.0fです。
注意:
再生中にcriAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数によって更新することはできません。
備考:
キュー再生時、データ側にプリディレイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数の設定値を加算した値が適用されます。
参照:
criAtomExPlayer_Start

void CRIAPI criAtomExPlayer_SetEnvelopeAttackTime ( CriAtomExPlayerHn  player,
CriFloat32  attack_time_ms 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] attack_time_ms アタックタイム(0.0f〜2000.0f)
説明:
エンベロープのアタックタイムを設定します。
本関数でアタックタイムを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたアタックタイムで再生されます。

アタックタイムには、0.0f〜2000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
アタックタイムのデフォルト値は0.0fです。
注意:
再生中にcriAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数によって更新することはできません。
例:
 CriFloat32 attack_time_ms = 10.0f;
 // Set attack time
 criAtomExPlayer_SetEnvelopeAttackTime(player, attack_time_ms);
 // Start playback(attack time=10ms)
 criAtomExPlayer_Start(player);
備考:
キュー再生時、データ側にアタックタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetEnvelopeHoldTime ( CriAtomExPlayerHn  player,
CriFloat32  hold_time_ms 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] hold_time_ms ホールドタイム(0.0f〜2000.0f)
説明:
エンベロープのホールドタイムを設定します。
本関数でホールドタイムを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたホールドタイムで再生されます。

ホールドタイムには、0.0f〜2000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
ホールドタイムのデフォルト値は0.0fです。
注意:
再生中にcriAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数によって更新することはできません。
例:
 CriFloat32 hold_time_ms = 10.0f;
 // Set hold time
 criAtomExPlayer_SetEnvelopeHoldTime(player, hold_time_ms);
 // Start playback(hold time=10ms)
 criAtomExPlayer_Start(player);
備考:
キュー再生時、データ側にホールドタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetEnvelopeDecayTime ( CriAtomExPlayerHn  player,
CriFloat32  decay_time_ms 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] decay_time_ms ディケイタイム(0.0f〜2000.0f)
説明:
エンベロープのディケイタイムを設定します。
本関数でディケイタイムを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたディケイタイムで再生されます。

ディケイタイムには、0.0f〜2000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
ディケイタイムのデフォルト値は0.0fです。
注意:
再生中にcriAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数によって更新することはできません。
例:
 CriFloat32 decay_time_ms = 10.0f;
 // Set decay time
 criAtomExPlayer_SetEnvelopeDecayTime(player, decay_time_ms);
 // Start playback(decay time=10ms)
 criAtomExPlayer_Start(player);
備考:
キュー再生時、データ側にディケイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetEnvelopeReleaseTime ( CriAtomExPlayerHn  player,
CriFloat32  release_time_ms 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] release_time_ms リリースタイム(0.0f〜10000.0f)
説明:
エンベロープのリリースタイムを設定します。
本関数でリリースタイムを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたリリースタイムで再生されます。

リリースタイムには、0.0f〜10000.0fの範囲で実数値を指定します。単位はms(ミリ秒)です。
リリースタイムのデフォルト値は0.0fです。
注意:
再生中にcriAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数によって更新することはできません。
例:
 CriFloat32 release_time_ms = 3000.0f;
 // Set release time
 criAtomExPlayer_SetEnvelopeReleaseTime(player, release_time_ms);
 // Start playback(release time=3000ms)
 criAtomExPlayer_Start(player);
備考:
キュー再生時、データ側にリリースタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetEnvelopeSustainLevel ( CriAtomExPlayerHn  player,
CriFloat32  susutain_level 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] susutain_level サスティンレベル(0.0f〜1.0f)
説明:
エンベロープのサスティンレベルを設定します。
本関数でサスティンレベルを設定後、criAtomExPlayer_Start 関数により再生開始すると、設定されたサスティンレベルで再生されます。

サスティンレベルには、0.0f〜1.0fの範囲で実数値を指定します。
サスティンレベルのデフォルト値は1.0fです。
注意:
再生中にcriAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数によって更新することはできません。
例:
 CriFloat32 susutain_level = 0.5f;
 // Set susutain level
 criAtomExPlayer_SetEnvelopeSustainLevel(player, susutain_level);
 // Start playback(sustain level=0.5)
 criAtomExPlayer_Start(player);
備考:
キュー再生時、データ側にサスティンレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetDataRequestCallback ( CriAtomExPlayerHn  player,
CriAtomExPlayerDataRequestCbFunc  func,
void *  obj 
)

データ要求コールバック関数の登録

引数:
[in] player AtomExプレーヤーハンドル
[in] func データ要求コールバック関数
[in] obj ユーザ指定オブジェクト
説明:
データ要求コールバック関数の登録を行います。

データ要求コールバックは、複数の音声データをシームレスに連結して再生する際に 使用します。
登録したコールバック関数は、ボイスが内部的に使用している Atom プレーヤーが 連結再生用のデータを要求するタイミングで実行されます。
(前回のデータを読み込み終えて、次に再生すべきデータを要求するタイミングで コールバック関数が実行されます。)
登録したコールバック関数内で criAtomPlayer_SetData 関数等を用いて Atom プレーヤーに データをセットすると、セットされたデータは現在再生中のデータに続いてシームレスに 連結されて再生されます。
また、コールバック関数内で criAtomPlayer_SetPreviousDataAgain 関数を実行することで、 同一データを繰り返し再生し続けることも可能です。
備考:
登録したコールバック関数内でデータを指定しなかった場合、現在のデータを再生し 終えた時点で、AtomEx プレーヤーのステータスが CRIATOMEXPLAYER_STATUS_PLAYEND に遷移します。

タイミング等の問題により、データを指定することができないが、ステータスを CRIATOMEXPLAYER_STATUS_PLAYEND に遷移させたくない場合には、コールバック関数内で criAtomPlayer_DeferCallback 関数を実行してください。
criAtomPlayer_DeferCallback 関数を実行することで、約1V後に再度データ要求 コールバック関数が呼び出されます。(コールバック処理をリトライ可能。)
ただし、 criAtomPlayer_DeferCallback 関数を実行した場合、再生が途切れる (連結箇所に一定時間無音が入る)可能性があります。
例:
以下のコードを実行すると、buffer1のデータとbuffer2のデータがシームレスに 連結して再生されます。
(その後はbuffer2のデータが繰り返し再生されます。)
 // データ要求コールバック関数
 void on_data_request(void *obj, CriAtomExPlaybackId id, CriAtomPlayerHn player)
 {
    // 続けて再生するデータをセット
    criAtomPlayer_SetData(player, buffer2, buffer_size2);
 }
 
 main()
 {
        :
    // データ要求コールバック関数の登録
    criAtomExPlayer_SetDataRequestCallback(player, on_data_request, NULL);
    
    // 音声データをセット
    criAtomExPlayer_SetData(player, buffer1, buffer_size1);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
以下の処理により、同一音声データを無限にループ再生可能です。
 // データ要求コールバック関数
 void on_data_request(void *obj, CriAtomExPlaybackId id, CriAtomPlayerHn player)
 {
    // 前回再生したデータを再セット
    criAtomPlayer_SetPreviousDataAgain(player);
 }
 
 main()
 {
        :
    // データ要求コールバック関数の登録
    criAtomExPlayer_SetDataRequestCallback(player, on_data_request, NULL);
    
    // 音声データをセット
    criAtomExPlayer_SetData(player, buffer, buffer_size);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
注意:
コールバック関数は再生開始前に設定する必要があります。
再生中の音声に対しコールバックを設定したり、 設定済みのコールバックを後からまたは変更することはできません。

複数の波形データを含むキューを再生した場合、 最初に見つかった波形データの再生が終了するタイミングでコールバック関数が実行されます。
そのため、複数の波形データを含むキューに対して連結再生の操作を行った場合、 意図としない組み合わせで波形が連結再生される可能性があります。
本機能を使用する際には、 1 つの波形データのみを含むキューを再生するか、 またはファイルやオンメモリデータ等を再生してください。

データ要求コールバック関数内で長時間処理をブロックすると、音切れ等の問題が 発生しますので、ご注意ください。

コールバック関数内で実行可能なAPIは、以下のとおりです。
  • criAtomExAcb_GetWaveformInfoById(引数のNULL指定は不可)
  • criAtomExAcb_GetWaveformInfoByName(引数のNULL指定は不可)
  • criAtomExAcb_GetOnMemoryAwbHandle
  • criAtomExAcb_GetStreamingAwbHandle
  • criAtomPlayer_SetData
  • criAtomPlayer_SetFile
  • criAtomPlayer_SetContentId
  • criAtomPlayer_SetWaveId
  • criAtomPlayer_SetPreviousDataAgain
  • criAtomPlayer_DeferCallback
コールバック関数内で上記以外のAPIを実行した場合、 エラーコールバックやデッドロック等の問題が発生する可能性があります。

シームレス連結再生をサポートしないコーデックを使用している場合、 データ要求コールバック関数内で次のデータをセットしても、 データは続けて再生されません。
  • HCA-MXコーデックを使用する場合、データがシームレスには連結されず、 再生中の音声と次に再生する音声との継ぎ目に無音が入ります。
  • プラットフォーム固有の音声圧縮コーデックを使用している場合、 エラー等が発生する可能性があります。
シームレス連結再生に使用する波形データのフォーマットは、 全て同じにする必要があります。
具体的には、以下のパラメーターが同じである必要があります。
  • コーデック
  • チャンネル数
  • サンプリングレート
パラメーターが異なる波形を連結しようとした場合、 意図としない速度で音声データが再生されたり、 エラーコールバックが発生する等の問題が発生します。

コールバック関数内でループ付きの波形データをセットした場合でも、 ループ再生は行われません。
(ループポイントが無視され、再生が終了します。)

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照:
CriAtomExPlayerDataRequestCbFunc, criAtomPlayer_SetData, criAtomPlayer_SetPreviousDataAgain, criAtomPlayer_DeferCallback

void CRIAPI criAtomExPlayer_SetFilterCallback ( CriAtomExPlayerHn  player,
CriAtomExPlayerFilterCbFunc  func,
void *  obj 
)

波形フィルターコールバック関数の登録

引数:
[in] player AtomExプレーヤーハンドル
[in] func 波形フィルターコールバック関数
[in] obj ユーザ指定オブジェクト
説明:
デコード結果の PCM データを受け取るコールバック関数を登録します。
登録されたコールバック関数は、ボイスが音声データをデコードしたタイミングで呼び出されます。
注意:
コールバック関数の登録は、停止中のプレーヤーに対してのみ可能です。
再生中のプレーヤーに対してコールバックを登録することはできません。
(エラーコールバックが発生し、登録に失敗します。)

複数の音声データを含むキューを再生した場合、 最初に見つかった波形データについてのみコールバックが実行されます。
(複数の波形データを含むキューについては、 2つ目以降の波形データの情報を取ることができません。)

コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

波形フィルターコールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。

HCA-MXコーデックやプラットフォーム固有の音声圧縮コーデックを使用している場合、 フィルターコールバックは利用できません。

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照:
CriAtomExPlayerFilterCbFunc

void CRIAPI criAtomExPlayer_SetRandomSeed ( CriAtomExPlayerHn  player,
CriUint32  seed 
)

乱数種の設定

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

参照:
criAtomEx_SetRandomSeed

void CRIAPI criAtomExPlayer_SetDspParameter ( CriAtomExPlayerHn  player,
CriSint32  param_id,
CriFloat32  param_val 
)

DSPパラメーターの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] param_id パラメーターID(0〜7)
[in] param_val パラメーターID(0.0f〜1.0f)
説明:
AtomExプレーヤーが保持するインサーションDSPのパラメーターを設定します。
DSPを有効化するには、ボイスプールにあらかじめDSPがアタッチされている必要があります。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_AttachAisac ( CriAtomExPlayerHn  player,
const CriChar8 *  global_aisac_name 
)

プレーヤーにAISACを取り付ける

引数:
[in] player AtomExプレーヤーハンドル
[in] global_aisac_name 取り付けるグローバルAISAC名
説明:
プレーヤーにAISACをアタッチ(取り付け)します。 AISACをアタッチすることにより、キューやトラックにAISACを設定していなくても、AISACの効果を得ることができます。
本関数でAISACをアタッチ後、criAtomExPlayer_Start 関数により再生開始すると、アタッチしたAISACを考慮して、各種パラメーターが適用されます。
またアタッチ後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、アタッチしたAISACによる各種パラメーター設定を適用することができます。

AISACのアタッチに失敗した場合、関数内でエラーコールバックが発生します。
AISACのアタッチに失敗した理由については、エラーコールバックのメッセージを確認してください。
例:
 // Attach Aisac
 criAtomExPlayer_AttachAisac(player, "GlobalAisac1");
 criAtomExPlayer_SetAisacControlByName(player, "Any", 0.5f);
 criAtomExPlayer_Start(player);
備考:
全体設定(ACFファイル)に含まれるグローバルAISACのみ、アタッチ可能です。
AISACの効果を得るには、キューやトラックに設定されているAISACと同様に、該当するAISACコントロール値を設定する必要があります。
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意:
キューやトラックに「AISACコントロール値を変更するAISAC」が設定されていたとしても、その適用結果のAISACコントロール値は、プレーヤーにアタッチしたAISACには影響しません。 現在、「オートモジュレーション」や「ランダム」といったコントロールタイプのAISACのアタッチには対応しておりません。
現在、プレーヤーにアタッチできるAISACの最大数は、8個固定です。
参照:
criAtomExPlayer_DetachAisac, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_DetachAisac ( CriAtomExPlayerHn  player,
const CriChar8 *  global_aisac_name 
)

プレーヤーからAISACを取り外す

引数:
[in] player AtomExプレーヤー
[in] global_aisac_name 取り外すグローバルAISAC名
説明:
プレーヤーからAISACをデタッチ(取り外し)します。
本関数でAISACをデタッチ後、criAtomExPlayer_Start 関数により再生開始すると、デタッチしたAISACの影響は受けなくなります。
またデタッチ後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたAISACによる影響を受けなくなります。

AISACのデタッチに失敗した場合、関数内でエラーコールバックが発生します。
AISACのデタッチに失敗した理由については、エラーコールバックのメッセージを確認してください。
参照:
criAtomExPlayer_AttachAisac

void CRIAPI criAtomExPlayer_DetachAisacAll ( CriAtomExPlayerHn  player  ) 

プレーヤーから全てのAISACを取り外す

引数:
[in] player AtomExプレーヤー
説明:
プレーヤーから全てのAISACをデタッチ(取り外し)します。
本関数でAISACをデタッチ後、criAtomExPlayer_Start 関数により再生開始すると、デタッチしたAISACの影響は受けなくなります。
またデタッチ後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたAISACによる影響を受けなくなります。
参照:
criAtomExPlayer_AttachAisac

CriSint32 CRIAPI criAtomExPlayer_GetNumAttachedAisacs ( CriAtomExPlayerHn  player  ) 

プレーヤーにアタッチされているAISAC数を取得する

引数:
[in] player AtomExプレーヤー
戻り値:
プレーヤーにアタッチされているAISAC数
説明:
プレーヤーにアタッチされているAISAC数を取得します。

CriBool CRIAPI criAtomExPlayer_GetAttachedAisacInfo ( CriAtomExPlayerHn  player,
CriSint32  aisac_attached_index,
CriAtomExAisacInfo aisac_info 
)

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

引数:
[in] player AtomExプレーヤー
[in] aisac_attached_index アタッチされているAISACのインデックス
[out] aisac_info AISAC情報
戻り値:
CRI_TRUE = 情報が取得できた
CRI_FALSE = 情報が取得できなかった
説明:
プレーヤーにアタッチされているAISACの情報を取得します。
無効なインデックスを指定した場合、CRI_FALSEが返ります。
参照:
criAtomExPlayer_GetNumAttachedAisacs

void CRIAPI criAtomExPlayer_SetStreamingCacheId ( CriAtomExPlayerHn  player,
CriAtomExStreamingCacheId  cache_id 
)

プレーヤーにストリーミングキャッシュを設定します

引数:
[in] player AtomExプレーヤー
[in] cache_id プレーヤーで使用するストリーミングキャッシュID
説明:
プレーヤーで使用するストリーミングキャッシュをID指定で設定します。
注意:
プレーヤーで使用中のストリーミングキャッシュを破棄する場合は、 先にプレーヤーを破棄してください。
逆の順序で処理した場合の結果は不定です。
参照:
criAtomStreamingCache_Create, criAtomStreamingCache_Destroy

void CRIAPI criAtomExPlayer_AttachTween ( CriAtomExPlayerHn  player,
CriAtomExTweenHn  tween 
)

プレーヤーにトゥイーンを取り付ける

引数:
[in] player AtomExプレーヤーハンドル
[in] tween トゥイーンハンドル
説明:
プレーヤーにトゥイーンをアタッチ(取り付け)します。 トゥイーンをアタッチすることにより、簡単な手順でパラメーターの時間変化を行うことができます。
本関数でトゥイーンをアタッチ後、criAtomExPlayer_Start 関数により再生開始すると、アタッチしたトゥイーンを考慮して、各種パラメーターが適用されます。
またアタッチ後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、アタッチしたトゥイーンによる各種パラメーター設定を適用することができます。
例:
 // ボリュームをフェードするTweenの作成
 CriAtomExTweenConfig config;
 criAtomExTween_SetDefaultConfig(&config);

 config.parameter_type = CRIATOMEX_PARAMETER_TYPE_BASIC;
 config.id.parameter_id = CRIATOMEX_PARAMETER_ID_VOLUME;
 fade_tween = criAtomExTween_Create(&config, NULL, 0);

 // Tweenのアタッチ
 criAtomExPlayer_AttachTween(player, fade_tween);

 // 再生開始
 criAtomExPlayer_Start(player);
             :
 // 1秒かけてボリューム0.2にフェード
 criAtomExTween_MoveTo(fade_tween, 1000, 0.2f);
             :
 // 2秒かけてボリューム1.0に復帰
 criAtomExTween_MoveTo(fade_tween, 2000, 1.0f);
備考:
トゥイーンによって変化したパラメーターは、AtomExプレーヤーに設定されているパラメーターに対し、加算/乗算/上書きされます。
加算/乗算/上書きのどれに該当するかは、AtomExプレーヤーへの設定関数(criAtomExPlayer_SetVolume 関数等)と同様です。 例えば、ボリュームであれば乗算され、AISACコントロール値であれば上書きします。
現在、プレーヤーにアタッチできるトゥイーンの最大数は、8個固定です。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_DetachTween, criAtomExPlayer_DetachTweenAll, criAtomExTween_Create, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_DetachTween ( CriAtomExPlayerHn  player,
CriAtomExTweenHn  tween 
)

プレーヤーからトゥイーンを取り外す

引数:
[in] player AtomExプレーヤー
[in] tween 取り外すトゥイーンハンドル
説明:
プレーヤーからトゥイーンをデタッチ(取り外し)します。
本関数でトゥイーンをデタッチ後、criAtomExPlayer_Start 関数により再生開始すると、デタッチしたトゥイーンの影響は受けなくなります。
またデタッチ後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたトゥイーンによる影響を受けなくなります。
参照:
criAtomExPlayer_AttachTween

void CRIAPI criAtomExPlayer_DetachTweenAll ( CriAtomExPlayerHn  player  ) 

プレーヤーから全てのトゥイーンを取り外す

引数:
[in] player AtomExプレーヤー
説明:
プレーヤーから全てのトゥイーンをデタッチ(取り外し)します。
本関数でトゥイーンをデタッチ後、criAtomExPlayer_Start 関数により再生開始すると、デタッチしたトゥイーンの影響は受けなくなります。
またデタッチ後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、デタッチしたトゥイーンによる影響を受けなくなります。
参照:
criAtomExPlayer_AttachTween

void CRIAPI criAtomExPlayer_SetFirstBlockIndex ( CriAtomExPlayerHn  player,
CriAtomExBlockIndex  index 
)

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

引数:
[in] player AtomExプレーヤーハンドル
[in] index ブロックインデックス
説明:
再生開始ブロックインデックスを、AtomExプレーヤーに関連付けます。
本関数で再生開始ブロックインデックスを指定後、ブロックシーケンスキューを criAtomExPlayer_Start 関数で再生開始すると指定したブロックから再生を 開始します。
例:
 main()
 {
        :
    // 音声データをセット
    criAtomExPlayer_SetCueIndex(player, acb_hn, 300);
    
    // 開始ブロックをセット
    criAtomExPlayer_SetFirstBlockIndex(player, 1);
    
    // セットされた音声データを再生
    criAtomExPlayer_Start(player);
        :
 }
備考:
AtomExプレーヤーのデフォルトブロックインデックスは 0 です。
criAtomExPlayer_Start 関数による再生開始時にプレーヤーに設定されているキューが ブロックシーケンスでない場合は、本関数で設定した値は利用されません。
指定したインデックスに対応したブロックがない場合は先頭ブロックから再生が行われます。
この際、指定インデックスのブロックが存在しない内容のワーニングが発生します。
備考:
再生開始後のブロック遷移は criAtomExPlayback_SetNextBlockIndex 関数を使用して行い、 再生中のブロックインデックス取得は criAtomExPlayback_GetCurrentBlockIndex 関数を使用します。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayback_SetNextBlockIndex, criAtomExPlayback_GetCurrentBlockIndex, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetBlockTransitionCallback ( CriAtomExPlayerHn  player,
CriAtomExPlayerBlockTransitionCbFunc  func,
void *  obj 
)

ブロックトランジションコールバック関数の登録

引数:
[in] player AtomExプレーヤーハンドル
[in] func ブロックトランジションコールバック関数
[in] obj ユーザ指定オブジェクト
説明:
ブロックシーケンス再生時にブロックトランジションが発生したときに呼び出されるコールバック関数を登録します。
登録されたコールバック関数は、ブロックトランジションが発生すると呼び出されます。
注意:
コールバック関数の登録は、停止中のプレーヤーに対してのみ可能です。
再生中のプレーヤーに対してコールバックを登録することはできません。
(エラーコールバックが発生し、登録に失敗します。)

コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照:
CriAtomExPlayerBlockTransitionCbFunc

CriAtomExSoundObjectHn CRIAPI criAtomExPlayer_GetSoundObject ( CriAtomExPlayerHn  player  ) 

サウンドオブジェクトの取得

引数:
[in] player AtomExプレーヤーハンドル
戻り値:
サウンドオブジェクトハンドル
説明:
このAtomExプレーヤーに関連付けられているサウンドオブジェクトを取得します。
どのサウンドオブジェクトにも関連付けられていない場合はNULLを返します。
参照:
CriAtomExSoundObjectHn, criAtomExSoundObject_AddPlayer

void CRIAPI criAtomExPlayer_SetDrySendLevel ( CriAtomExPlayerHn  player,
CriAtomExSpeakerId  spk,
CriFloat32  offset,
CriFloat32  gain 
)

ドライセンドレベルの設定(CRI Audio互換用)

引数:
[in] player AtomExプレーヤーハンドル
[in] spk スピーカーID
[in] offset ドライセンドレベルオフセット(加算値)
[in] gain ドライセンドレベルゲイン(乗算値)
説明:
出力音声のドライセンドレベルを設定します。
本関数はCRI Audioとの互換用であり、CRI Audioにあったドライセンドレベルと同じ挙動をします。
本関数でドライセンドレベルを設定後、criAtomExPlayer_Start 関数で再生を開始すると、 設定されたドライセンドレベルで音声が再生されます。
またドライセンドレベル設定後に criAtomExPlayer_Update 関数や criAtomExPlayer_UpdateAll 関数を呼び出すことで、すでに再生された音声のドライセンドレベルを更新することも可能です。

ドライセンドレベルでは、再生時の各スピーカーへの出力レベルを個別に指定することができます。
各スピーカーへの出力としてどの入力チャンネルを使用するかは、波形のチャンネル数に依存します。 例えばモノラル波形の場合は全てのスピーカーへの出力として0チャンネルを入力として使用し、 ステレオ波形の場合はL側のスピーカー(L,SL,SBL)への出力には0チャンネル(Lチャンネル)、 R側のスピーカー(R,SR,SBL)への出力には1チャンネル(Rチャンネル)を入力として使用します。 (ドライセンドレベルの設定では、ステレオの音はセンタースピーカー、LFEへは出力できません。)

ドライセンドレベルは、パン3Dやセンドレベルの設定による出力レベルに対して加算されます。
ドライセンドレベル値の範囲や扱いは、基本的にはボリュームと同等です。criAtomExPlayer_SetVolume 関数を参照してください。
ドライセンドレベルのデフォルト値は0.0fです。

例:
 main()
 {
    :
  // 備考)再生する音声はモノラルであると仮定
    // ドライセンドレベルを設定(データ側の値を半分にして0.2f加算する)
    criAtomExPlayer_SetDrySendLevel(player, CRIATOMEX_SPEAKER_FRONT_CENTER, 0.2f, 0.5f);
  
  // 再生の開始
  // 備考)ドライセンドレベルはプレーヤーに設定された値で再生される。
  id = criAtomExPlayer_Start(player);
    :
    // ドライセンドレベルを設定(データ側の値を無効にして0.8fで上書きする)
  // 注意)この時点では再生中の音声のドライセンドレベルは変更されない。
    criAtomExPlayer_SetDrySendLevel(player, CRIATOMEX_SPEAKER_FRONT_CENTER, 0.8f, 0.0f);
  
  // プレーヤーに設定されたドライセンドレベルを再生中の音声にも反映
  criAtomExPlayer_Update(player, id);
    :
 }
備考:
キュー再生時、データ側にドライセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値に対し 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ミックスレベルは無効となります。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照:
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_ResetParameters

void CRIAPI criAtomExPlayer_SetSelectorLabel ( CriAtomExPlayerHn  player,
const CriChar8 *  selector,
const CriChar8 *  label 
)

セレクター情報のプレーヤーへの設定

引数:
[in] player AtomExプレーヤーハンドル
[in] selector セレクター名
[in] label ラベル名
説明:
セレクター名とラベル名を指定して、プレーヤーに設定します。
トラックにセレクターラベルが指定されているキューを再生した場合、本関数で指定したセレクターラベル と一致したトラックだけを再生します。
セレクター名、ラベル名はACFヘッダーに記載されています。
プレーヤーに設定したラベル情報の個別削除は criAtomExPlayer_ClearSelectorLabels 関数を実行してください。
ラベル情報を含む全てのプレーヤー設定値削除は criAtomExPlayer_ResetParameters 関数を実行してください。
参照:
criAtomExPlayer_ClearSelectorLabels, criAtomExPlayer_ResetParameters, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll

void CRIAPI criAtomExPlayer_ClearSelectorLabels ( CriAtomExPlayerHn  player  ) 

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

引数:
[in] player AtomExプレーヤーハンドル
説明:
プレーヤーに設定されているセレクター名、ラベル名情報を全て削除します。
また削除後、criAtomExPlayer_Update 関数、criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生中の音声に対してセレクター情報の削除が行えますが、再生中音声が停止することはありません。
参照:
criAtomExPlayer_SetSelectorLabel, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll

void CRIAPI criAtomExPlayer_SetPlaybackTrackInfoNotificationCallback ( CriAtomExPlayerHn  player,
CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc  func,
void *  obj 
)

再生トラック番号通知コールバック関数の登録

引数:
[in] player AtomExプレーヤーハンドル
[in] func 再生トラック番号通知コールバック関数
[in] obj ユーザ指定オブジェクト
説明:
再生したトラック番号を通知するためのコールバック関数を登録します。
登録されたコールバック関数は、ポリフォニックタイプ以外のキュー再生時に呼び出されます。
注意:
コールバック関数の登録は、停止中のプレーヤーに対してのみ可能です。
再生中のプレーヤーに対してコールバックを登録することはできません。
(エラーコールバックが発生し、登録に失敗します。)

コールバック関数内で、AtomライブラリのAPIを実行しないでください。
コールバック関数はAtomライブラリ内のサーバー処理から実行されます。
そのため、サーバー処理への割り込みを考慮しないAPIを実行した場合、 エラーが発生したり、デッドロックが発生する可能性があります。

コールバック関数内で長時間処理をブロックすると、音切れ等の問題 が発生しますので、ご注意ください。

コールバック関数は1つしか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
参照:
CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc

void CRIAPI criAtomExPlayer_SetPlaybackEventCallback ( CriAtomExPlayerHn  player,
CriAtomExPlaybackEventCbFunc  func,
void *  obj 
)

再生イベントコールバックの登録

引数:
[in] func 再生イベントコールバック関数
[in] obj ユーザ指定オブジェクト
説明:
再生イベントコールバックを登録します。
本関数を使用して再生イベントコールバックを登録することで、 再生イベント(再生用リソースの確保/解放や、ボイスの割り当て、バーチャル化)発生時の詳細情報 (再生元のAtomExプレーヤーや再生ID)が取得可能です。
備考:
第 2 引数( obj )にセットした値は、コールバック関数の引数として渡されます。
コールバック関数のその他の引数については、 別途 CriAtomExPlaybackEventCbFunc の説明をご参照ください。

funcにNULLを指定することで登録済み関数の登録解除が行えます。
注意:
1つのAtomExプレーヤーに対し、1つのコールバック関数しか登録できません。
登録操作を複数回行った場合、既に登録済みのコールバック関数が、 後から登録したコールバック関数により上書きされてしまいます。
参照:
CriAtomExVoiceEventCbFunc


CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.