CRI ADX  Last Updated: 2024-09-25 17:41 p
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_MAX_OUTPUT_PORTS   CRIATOMEXPLAYER_MAX_ASR_RACKS
 プレーヤーに指定可能な最大出力ポート数 [詳解]
 
#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 struct CriAtomExPlayerConfigTag CriAtomExPlayerConfig
 プレーヤー作成用コンフィグ構造体 [詳解]
 
typedef CriAtomExPlayerObj * CriAtomExPlayerHn
 プレーヤーハンドル [詳解]
 
typedef enum CriAtomExPlayerStatusTag CriAtomExPlayerStatus
 プレーヤーステータス [詳解]
 
typedef enum CriAtomExVoiceControlMethodTag CriAtomExVoiceControlMethod
 ボイス制御方式 [詳解]
 
typedef enum CriAtomExSpeakerIdTag CriAtomExSpeakerId
 スピーカーID [詳解]
 
typedef CriUint32 CriAtomExPlaybackId
 再生ID [詳解]
 
typedef void(* CriAtomExPlayerCbFunc) (void *obj, CriAtomExPlayerHn player)
 プレーヤーコールバック関数型 [詳解]
 
typedef CriBool(* CriAtomExPlaybackCbFunc) (void *obj, CriAtomExPlaybackId playback_id)
 プレイバックコールバック関数型 [詳解]
 
typedef void(* CriAtomExPlayerDataRequestCbFunc) (void *obj, CriAtomExPlaybackId id, CriAtomPlayerHn player)
 データ要求コールバック関数 [詳解]
 
typedef void(* CriAtomExPlayerFilterCbFunc) (void *obj, CriAtomExPlaybackId id, CriAtomPcmFormat format, CriSint32 num_channels, CriSint32 num_samples, void *data[])
 波形フィルターコールバック関数 [詳解]
 
typedef void(* CriAtomExPlayerBlockTransitionCbFunc) (void *obj, CriAtomExPlaybackId id, CriAtomExBlockIndex index)
 ブロックトランジションコールバック関数 [詳解]
 
typedef struct CriAtomExPlaybackTrackInfoTag CriAtomExPlaybackTrackInfo
 再生トラック情報用Info構造体
 
typedef void(* CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc) (void *obj, const CriAtomExPlaybackTrackInfo *info)
 再生トラック情報取得コールバック関数 [詳解]
 
typedef CriBool(* CriAtomExPlayerPanCbFunc) (void *object, CriSint32 input_channels, CriAtomChannelConfig channel_config, CriSint32 output_channels, CriAtomSpeakerMapping speaker_mapping, const CriAtomExSphericalCoordinates *location, const CriAtomEx3dAttenuationParameter *parameter, CriFloat32 *matrix[])
 パンニングコールバック関数型 [詳解]
 
typedef enum CriAtomExParameterIdTag CriAtomExParameterId
 パラメーターID [詳解]
 

列挙型

enum  CriAtomExVoiceAllocationMethodTag { CRIATOMEX_ALLOCATE_VOICE_ONCE = 0 , CRIATOMEX_RETRY_VOICE_ALLOCATION , CRIATOMEX_VOICE_ALLOCATION_METHOD_IS_4BYTE = 0x7FFFFFFF }
 ボイス確保方式 [詳解]
 
enum  CriAtomExPlayerStatusTag {
  CRIATOMEXPLAYER_STATUS_STOP = 0 , CRIATOMEXPLAYER_STATUS_PREP , CRIATOMEXPLAYER_STATUS_PLAYING , CRIATOMEXPLAYER_STATUS_PLAYEND ,
  CRIATOMEXPLAYER_STATUS_ERROR , CRIATOMEXPLAYER_STATUS_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 プレーヤーステータス [詳解]
 
enum  CriAtomExVoiceControlMethodTag { CRIATOMEX_PREFER_LAST = 0 , CRIATOMEX_PREFER_FIRST = 1 , CRIATOMEX_PREFER_DATA = 2 , CRIATOMEX_CONTROL_METHOD_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF }
 ボイス制御方式 [詳解]
 
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 ,
  CRIATOMEX_SPEAKER_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 スピーカー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 , CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_8 = 41 ,
  CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_9 = 42 , CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_10 = 43 , CRIATOMEX_PARAMETER_ID_DSP_BYPASS_FLAG = 44 , CRIATOMEX_PARAMETER_ID_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
}
 パラメーターID [詳解]
 

関数

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

詳解

マクロ定義詳解

◆ CRIATOMEXPLAYER_NO_GROUP_LIMITATION

#define CRIATOMEXPLAYER_NO_GROUP_LIMITATION   (-1)

グループ制限なし

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

◆ CRIATOMEXPLAYER_NO_LOOP_LIMITATION

#define CRIATOMEXPLAYER_NO_LOOP_LIMITATION   (CRIATOMPLAYER_NO_LOOP_LIMITATION)

ループ回数制御用

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

◆ CRIATOMEXPLAYER_MAX_ASR_RACKS

#define CRIATOMEXPLAYER_MAX_ASR_RACKS   (8)

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

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

◆ CRIATOMEXPLAYER_MAX_OUTPUT_PORTS

#define CRIATOMEXPLAYER_MAX_OUTPUT_PORTS   CRIATOMEXPLAYER_MAX_ASR_RACKS

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

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

◆ criAtomExPlayer_SetDefaultConfig

#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;\
}
@ CRIATOMEX_ALLOCATE_VOICE_ONCE
Definition: cri_le_atom_ex.h:3469

プレーヤー作成用コンフィグ構造体にデフォルト値をセット

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

型定義詳解

◆ CriAtomExAsrBusFilterCbFunc

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

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

説明:
引数
[in]objユーザ指定オブジェクト
[in]formatPCMの形式
[in]num_channelsチャンネル数
[in]num_samplesサンプル数
[in,out]dataPCMデータのチャンネル配列
戻り値
なし
説明:
バスに登録することができる 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

◆ CriAtomExVoiceAllocationMethod

ボイス確保方式

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

◆ CriAtomExPlayerConfig

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

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

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

◆ CriAtomExPlayerHn

typedef CriAtomExPlayerObj* CriAtomExPlayerHn

プレーヤーハンドル

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

◆ 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

◆ CriAtomExVoiceControlMethod

ボイス制御方式

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

◆ CriAtomExSpeakerId

スピーカーID

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

◆ CriAtomExPlaybackId

typedef CriUint32 CriAtomExPlaybackId

再生ID

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

◆ CriAtomExPlayerCbFunc

typedef void( * CriAtomExPlayerCbFunc) (void *obj, CriAtomExPlayerHn player)

プレーヤーコールバック関数型

引数
[in]objユーザ指定オブジェクト
[in]playerAtomExプレーヤー
説明:
プレーヤーの列挙に使用する、コールバック関数の型です。
criAtomExPlayer_EnumeratePlayers 関数に本関数型のコールバック関数を登録することで、 アプリケーション中で作成したプレーヤーをコールバックで受け取ることが可能となります。
注意
引数で渡されたAtomExプレーヤーを破棄してはいけません。
(アクセス違反やハングアップ等の重篤な不具合が発生する恐れがあります。)

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

◆ CriAtomExPlaybackCbFunc

typedef CriBool( * CriAtomExPlaybackCbFunc) (void *obj, CriAtomExPlaybackId playback_id)

プレイバックコールバック関数型

引数
[in]objユーザ指定オブジェクト
[in]playback_idプレイバックID
戻り値
CriBool 列挙を続けるかどうか(CRI_TRUE:継続、CRI_FALSE:中止)
説明:
プレイバックの列挙に使用する、コールバック関数の型です。
criAtomExPlayer_EnumeratePlaybacks 関数に本関数型のコールバック関数を登録することで、 プレーヤーで再生中のプレイバックIDをコールバックで受け取ることが可能となります。

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

◆ CriAtomExPlayerDataRequestCbFunc

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

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

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

コールバック関数の登録には 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

◆ CriAtomExPlayerFilterCbFunc

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

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

説明:
引数
[in]objユーザ指定オブジェクト
[in]id再生ID
[in]formatPCMの形式
[in]num_channelsチャンネル数
[in]num_samplesサンプル数
[in,out]dataPCMデータのチャンネル配列
戻り値
なし
説明:
デコード結果の 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

◆ CriAtomExPlayerBlockTransitionCbFunc

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

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

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

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

注意

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

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

◆ CriAtomExPlayerPlaybackTrackInfoNotificationCbFunc

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

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

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

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

注意

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

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

◆ CriAtomExPlayerPanCbFunc

typedef CriBool( * CriAtomExPlayerPanCbFunc) (void *object, CriSint32 input_channels, CriAtomChannelConfig channel_config, CriSint32 output_channels, CriAtomSpeakerMapping speaker_mapping, const CriAtomExSphericalCoordinates *location, const CriAtomEx3dAttenuationParameter *parameter, CriFloat32 *matrix[])

パンニングコールバック関数型

引数
[in]objectユーザ指定オブジェクト
[in]input_channels入力音声のチャンネル数
[in]channel_config入力音声のチャンネル構成
[in]output_channels出力先のチャンネル数
[in]speaker_mapping出力先のスピーカーマッピング
[in]location音源の位置情報
[in]parameter距離減衰パラメーター
[out]matrixセンドレベルマトリクス
戻り値
CriBool 独自のパンニング処理を行ったかどうか
説明:
パンニング処理用のコールバック関数の型です。
criAtomExPlayer_OverrideDefaultPanMethod 関数を実行することで、 コールバック関数の登録が可能です。
本コールバック関数は、パンニング処理の際に呼び出されます。
アプリケーション側で独自のパンニング処理を行いたい場合にご利用ください。
補足
コールバック関数呼び出し時点では、センドレベルマトリクスはゼロクリアされています。 そのため、コールバック関数内でセンドレベルマトリクスをゼロクリアする必要はありません。

アプリケーション側でセンドレベルマトリクスを操作した場合には、 関数の戻り値で CRI_TRUE を返す必要があります。
CRI_FALSE を返した場合、コールバック内で指定したセンドレベルは無視され、 Atomライブラリのデフォルトのパンニング処理が適用されます。
(特定のチャンネル数の音声のみに独自のパンニング処理を行いたい等、 デフォルトのパンニング処理と独自のパンニング処理を切り替える必要がある場合には、 戻り値で制御してください。)
注意
本コールバック関数内で長時間処理をブロックすると、音切れ等の問題が発生しますので、 ご注意ください。
参照
criAtomExPlayer_OverrideDefaultPanMethod

◆ CriAtomExParameterId

パラメーターID

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

列挙型詳解

◆ CriAtomExVoiceAllocationMethodTag

ボイス確保方式

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

ボイスの確保は1回限り

CRIATOMEX_RETRY_VOICE_ALLOCATION 

ボイスを繰り返し確保する

◆ 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 

エラーが発生

◆ CriAtomExVoiceControlMethodTag

ボイス制御方式

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

後着優先

CRIATOMEX_PREFER_FIRST 

先着優先

CRIATOMEX_PREFER_DATA 

データ設定優先

◆ 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 

サラウンドバックライトスピーカー

◆ 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

CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_8 

インサーションDSPのパラメーター8

CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_9 

インサーションDSPのパラメーター9

CRIATOMEX_PARAMETER_ID_DSP_PARAMETER_10 

インサーションDSPのパラメーター10

CRIATOMEX_PARAMETER_ID_DSP_BYPASS_FLAG 

インサーションDSPのバイパスフラグ

関数詳解

◆ criAtomExPlayer_AddOutputPort()

void criAtomExPlayer_AddOutputPort ( CriAtomExPlayerHn  player,
CriAtomExOutputPortHn  output_port 
)

出力ポートハンドルの追加

引数
[in]playerAtomExプレーヤーハンドル
[in]output_port出力ポートハンドル
説明:
プレーヤーに出力ポートを追加します。
CRIATOMEXPLAYER_MAX_OUTPUT_PORTS に定義された数分の出力ポートを指定することが可能です。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数または criAtomExPlayer_ClearOutputPorts 関数にてクリアされます。 また、::criAtomExPlayer_RemoveOutputPort 関数で特定のハンドルのみを取り外すことも可能です。
キュー再生時に本関数を呼び出すと、以下の設定は全て無視され、キューは全て追加した出力ポートを通して再生されます。
  • データ側に設定されているパラメーターパレットのASRラックID設定
  • criAtomExPlayer_SetAsrRackId 関数及び criAtomExPlayer_SetAsrRackIdArray 関数で指定したASRラックID
  • データ側に設定されているトラックの出力ポート名
    出力ポートは再生開始前に設定する必要があります。
    既に再生が開始された音声に対し、後から出力ポートを変更することはできません。

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

    criAtomExPlayer_SetData 関数等を使用したキュー再生以外の再生時では、本関数にて指定した複数の出力ポートの内、 1つ目に設定した出力ポートのみが適用されます。

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

◆ criAtomExPlayer_RemoveOutputPort()

void criAtomExPlayer_RemoveOutputPort ( CriAtomExPlayerHn  player,
CriAtomExOutputPortHn  output_port 
)

出力ポートハンドルの取り外し

引数
[in]playerAtomExプレーヤーハンドル
[in]output_port出力ポートハンドル
説明:
プレーヤーに追加した出力ポートを取り外します。
備考:
プレーヤーに criAtomExPlayer_AddOutputPort 関数で追加した特定の出力ポートハンドルを取り外します。 プレーヤーに設定されている出力ポートを全てを取り外すには criAtomExPlayer_ClearOutputPorts 関数を使用してください。
注意
既に再生が開始された音声に対し、後から出力ポートを変更することはできません。
参照
criAtomExOutputPort_Create, criAtomExPlayer_AddOutputPort, criAtomExPlayer_ClearOutputPorts

◆ criAtomExPlayer_ClearOutputPorts()

void criAtomExPlayer_ClearOutputPorts ( CriAtomExPlayerHn  player)

出力ポートハンドルのクリア

引数
[in]playerAtomExプレーヤーハンドル
説明:
プレーヤーに追加した出力ポートを全てクリアします。
備考:
プレーヤーに criAtomExPlayer_AddOutputPort 関数で追加した特定の出力ポートハンドルを全てクリアします。 特定のハンドルを取り外すためには criAtomExPlayer_RemoveOutputPort 関数を使用してください。
注意
既に再生が開始された音声に対し、後から出力ポートを変更することはできません。
参照
criAtomExOutputPort_Create, criAtomExPlayer_AddOutputPort, criAtomExPlayer_RemoveOutputPort

◆ criAtomExPlayer_AddPreferredOutputPort()

void criAtomExPlayer_AddPreferredOutputPort ( CriAtomExPlayerHn  player,
CriAtomExOutputPortHn  output_port 
)

優先出力ポートハンドルの追加

引数
[in]playerAtomExプレーヤーハンドル
[in]output_port出力ポートハンドル
説明:
プレーヤーにACF内の出力ポートより優先的に参照される出力ポートを追加します。
CRIATOMEXPLAYER_MAX_OUTPUT_PORTS に定義された数分の出力ポートを指定することが可能です。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数または criAtomExPlayer_ClearPreferredOutputPorts にてクリアされます。 また、::criAtomExPlayer_RemovePreferredOutputPort 関数や criAtomExPlayer_RemovePreferredOutputPortByName 関数にて特定のハンドルのみを取り外すことも可能です。
出力ポート名が設定されているトラックを持つキューを再生したとき、通常はACF登録時に自動生成された 出力ポートから出力されます。 本関数でプレーヤーに対して優先出力ポートを追加したとき、 前述したキューを再生した際には追加された同名の優先出力ポートから出力されるようになります。
注意
データ側に出力ポート名が設定されていないトラックの再生には影響しません。

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

一つのプレーヤーに対し、同じ名前の優先出力ポートを登録することはできません。
criAtomExPlayer_SetData 関数等を使用したキュー再生以外の再生時では、本関数にて指定した複数の出力ポートの内、 1つ目に設定した出力ポートのみが適用されます。

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

HCA-MX用にエンコードされた音声データには、本関数の設定が適用されません。
参照
criAtomExPlayer_RemovePreferredOutputPort, criAtomExPlayer_RemovePreferredOutputPortByName, criAtomExPlayer_ClearPreferredOutputPorts

◆ criAtomExPlayer_RemovePreferredOutputPort()

void criAtomExPlayer_RemovePreferredOutputPort ( CriAtomExPlayerHn  player,
CriAtomExOutputPortHn  output_port 
)

優先出力ポートハンドルの取り外し

引数
[in]playerAtomExプレーヤーハンドル
[in]output_port出力ポートハンドル
説明:
プレーヤーに追加した優先出力ポートを取り外します。
備考:
プレーヤーに criAtomExPlayer_AddPreferredOutputPort 関数で追加した特定の優先出力ポートハンドルを取り外します。 プレーヤーに設定されている出力ポートを全て取り外すには criAtomExPlayer_ClearOutputPorts 関数を使用してください。
注意
優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
参照
criAtomExPlayer_AddOutputPort, criAtomExPlayer_RemovePreferredOutputPortByName, criAtomExPlayer_ClearPreferredOutputPorts

◆ criAtomExPlayer_RemovePreferredOutputPortByName()

void criAtomExPlayer_RemovePreferredOutputPortByName ( CriAtomExPlayerHn  player,
CriChar8 *  name 
)

優先出力ポートハンドルの取り外し(名前指定)

引数
[in]playerAtomExプレーヤーハンドル
[in]name出力ポート名
説明:
プレーヤーに追加した優先出力ポートを名前を指定して取り外します。
備考:
プレーヤーに criAtomExPlayer_AddPreferredOutputPort 関数で追加した特定の優先出力ポートハンドルを取り外します。 プレーヤーに設定されている出力ポートを全てクリアするためには criAtomExPlayer_ClearOutputPorts 関数を使用してください。
注意
優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
参照
criAtomExPlayer_AddOutputPort, criAtomExPlayer_RemovePreferredOutputPort, criAtomExPlayer_ClearPreferredOutputPorts

◆ criAtomExPlayer_ClearPreferredOutputPorts()

void criAtomExPlayer_ClearPreferredOutputPorts ( CriAtomExPlayerHn  player)

優先出力ポートハンドルのクリア

引数
[in]playerAtomExプレーヤーハンドル
説明:
プレーヤーに追加した優先出力ポートを全てクリアします。
備考:
プレーヤーに criAtomExPlayer_AddPreferredOutputPort 関数で追加した優先出力ポートハンドルを全てクリアします。 特定の優先出力ポートを取り外すためには、::criAtomExPlayer_RemovePreferredOutputPort 関数または criAtomExPlayer_RemovePreferredOutputPortByName 関数を使用してください。
注意
優先出力ポートを取り外しても、既に再生が開始された音声には影響しません。
参照
criAtomExPlayer_AddOutputPort, criAtomExPlayer_RemovePreferredOutputPort, criAtomExPlayer_RemovePreferredOutputPortByName

◆ criAtomExPlayer_CalculateWorkSize()

CriSint32 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

◆ criAtomExPlayer_Create()

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

AtomExPlayerの作成

引数
[in]configAtomExプレーヤー作成用コンフィグ構造体
[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プレーヤー作成用コンフィグ構造体を設定
// AtomExプレーヤーの作成
// ワーク領域にはNULLと0を指定する。
// →必要なメモリは、登録したメモリ確保関数を使って確保される。
player = criAtomExPlayer_Create(&config, NULL, 0);
:
// 音声再生処理
:
// AtomExプレーヤーが不要になった時点で破棄
// →AtomExプレーヤー作成時にライブラリ内で確保されたメモリが解放される。
:
}
#define criAtomEx_SetUserAllocator(p_malloc_func, p_free_func, p_obj)
ユーザアロケーターの登録
Definition: cri_le_atom_ex.h:313
CriAtomExPlayerObj * CriAtomExPlayerHn
プレーヤーハンドル
Definition: cri_le_atom_ex.h:3628
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
AtomExPlayerの作成
void criAtomExPlayer_Destroy(CriAtomExPlayerHn player)
AtomExプレーヤーの破棄
#define criAtomExPlayer_SetDefaultConfig(p_config)
プレーヤー作成用コンフィグ構造体にデフォルト値をセット
Definition: cri_le_atom_ex.h:713
プレーヤー作成用コンフィグ構造体
Definition: cri_le_atom_ex.h:3490

※ライブラリ初期化時にメモリ確保/解放関数を登録済みの場合、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プレーヤー作成用コンフィグ構造体を設定
// AtomExプレーヤーの作成に必要なワーク領域のサイズを計算
work_size = criAtomExPlayer_CalculateWorkSize(&config);
// ワーク領域用にメモリを確保
work = malloc((size_t)work_size);
// AtomExプレーヤーの作成
// ワーク領域にはNULLと0を指定する。
// →確保済みのワーク領域を指定する。
player = criAtomExPlayer_Create(&config, work, work_size);
:
// 音声再生処理
// →この間、確保したメモリは保持し続ける。
:
// AtomExプレーヤーが不要になった時点で破棄
// 必要なくなったワーク領域を解放する
free(work);
:
}
CriSint32 criAtomExPlayer_CalculateWorkSize(const CriAtomExPlayerConfig *config)
AtomExPlayer用ワーク領域サイズの計算

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

◆ criAtomExPlayer_Destroy()

void criAtomExPlayer_Destroy ( CriAtomExPlayerHn  player)

AtomExプレーヤーの破棄

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

◆ criAtomExPlayer_SetCueId()

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

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

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

criAtomExPlayer_SetCueId 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。

(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)

参照
criAtomExPlayer_Start

◆ criAtomExPlayer_SetCueName()

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

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

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

criAtomExPlayer_SetCueName 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。

(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)

参照
criAtomExPlayer_Start

◆ criAtomExPlayer_SetCueIndex()

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

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

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

criAtomExPlayer_SetCueIndex 関数でキューをセットした場合、以下の関数で設定された パラメーターは無視されます。

(音声フォーマットやチャンネル数、サンプリングレート等の情報は、 ACB ファイルの情報を元に自動的にセットされます。)

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

参照
criAtomExPlayer_Start

◆ criAtomExPlayer_SetData()

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

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

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

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

◆ criAtomExPlayer_SetFile()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[in]binderバインダーハンドル
[in]pathファイルパス
説明:
音声ファイルをAtomExプレーヤーに関連付けます。
本関数でファイルを指定後、 criAtomExPlayer_Start 関数で再生を開始すると、 指定されたファイルがストリーミング再生されます。
尚、本関数を実行した時点では、ファイルの読み込みは開始されません。
ファイルの読み込みが開始されるのは、 criAtomExPlayer_Start 関数実行後です。
例:
main()
{
:
// 音声ファイルをセット
criAtomExPlayer_SetFile(player, NULL, "sample.hca");
// 再生する音声データのフォーマットを指定
criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_HCA);
// セットされた音声データを再生
:
}
void criAtomExPlayer_SetFile(CriAtomExPlayerHn player, CriFsBinderHn binder, const CriChar8 *path)
音声データのセット(ファイル名の指定)
尚、一旦セットしたファイルの情報は、他のデータがセットされるまで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

◆ criAtomExPlayer_SetContentId()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[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);
// セットされた音声データを再生
:
}
void criAtomExPlayer_SetContentId(CriAtomExPlayerHn player, CriFsBinderHn binder, CriSint32 id)
音声データのセット(CPKコンテンツIDの指定)
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
備考:
データがCPKにパックされていない場合、引数binderにはNULLを指定してください。
注意
criAtomExPlayer_SetContentId 関数で音声データをセットする場合、以下の関数を使用して 再生する音声データの情報を別途指定する必要があります。
参照
CriAtomExPlayerConfig, criAtomExPlayer_Create, criAtomExPlayer_Start

◆ criAtomExPlayer_SetWaveId()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[in]awbAWBハンドル
[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);
// セットされた音声データを再生
:
}
void criAtomExPlayer_SetWaveId(CriAtomExPlayerHn player, CriAtomAwbHn awb, CriAtomExWaveId id)
音声データのセット(波形データIDの指定)
CriAtomAwbHn criAtomAwb_LoadToc(CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size)
AWBファイルのTOC情報ロード(同期版)
尚、一旦セットしたファイルの情報は、他のデータがセットされるまでAtomExプレーヤー内に保持 されます。
そのため、同じデータを何度も再生する場合には、再生毎にデータをセットしなおす必要 はありません。
注意
本関数で音声データをセットする場合、 以下の関数を使用して再生する音声データの情報を別途指定する必要があります。


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

参照
CriAtomExPlayerConfig, criAtomExPlayer_Create, criAtomExPlayer_Start

◆ criAtomExPlayer_Start()

CriAtomExPlaybackId criAtomExPlayer_Start ( CriAtomExPlayerHn  player)

再生の開始

引数
[in]playerAtomExプレーヤーハンドル
戻り値
CriAtomExPlaybackId 再生ID
説明:
音声データの再生処理を開始します。
本関数を実行する前に、事前に criAtomExPlayer_SetData 関数等を使用し、再生する 音声データをAtomExプレーヤーにセットしておく必要があります。
例えば、オンメモリの音声データを再生する場合には、以下のように事前に criAtomExPlayer_SetData 関数を使って音声データをセットした後、本関数を実行する 必要があります。
main()
{
:
// 音声データをセット
criAtomExPlayer_SetData(player, buffer, buffer_size);
// 再生する音声データのフォーマットを指定
criAtomExPlayer_SetFormat(player, CRIATOMEX_FORMAT_HCA_MX);
// セットされた音声データを再生
:
}
本関数実行後、再生の進み具合(発音が開始されたか、再生が完了したか等)がどうなって いるかは、ステータスを取得することで確認が可能です。
ステータスの取得には、 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);
// セットされた音声データを再生
// 再生完了待ち
for (;;) {
// ステータスの取得
status = criAtomExPlayer_GetStatus(player);
// ステータスのチェック
// 再生終了時はループを抜ける
break;
}
// サーバー処理の実行
// 画面表示の更新等
:
}
:
}
void criAtomEx_ExecuteMain(void)
サーバー処理の実行
CriAtomExPlayerStatus criAtomExPlayer_GetStatus(CriAtomExPlayerHn player)
ステータスの取得
@ CRIATOMEXPLAYER_STATUS_PLAYEND
Definition: cri_le_atom_ex.h:3676
備考:
関数実行時に発音リソースが確保できない場合(全てのボイスが使用中で、なおかつ 他のボイスを奪い取れない場合等)、本関数は 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

◆ criAtomExPlayer_Prepare()

CriAtomExPlaybackId criAtomExPlayer_Prepare ( CriAtomExPlayerHn  player)

再生の準備

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

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

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

本関数で再生準備を行った音声を発音するには、 本関数が返す再生 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);
// セットされた音声データの再生準備を開始
playback_id = criAtomExPlayer_Prepare(player);
:
// 再生準備完了待ち
for (;;) {
// 再生ステータスをチェック
playback_status = criAtomExPlayback_GetStatus(playback_id);
if (playback_status == CRIATOMEXPLAYBACK_STATUS_PLAYING) {
// ステータスが再生状態になった時点でループを抜ける
break;
}
// サーバー処理の実行
// 画面表示の更新等
:
}
// ポーズを解除
criAtomExPlayback_Pause(playback_id, CRI_FALSE);
:
}
CriAtomExPlaybackStatus criAtomExPlayback_GetStatus(CriAtomExPlaybackId id)
再生ステータスの取得
void criAtomExPlayback_Pause(CriAtomExPlaybackId id, CriBool sw)
再生音のポーズ/ポーズ解除
@ CRIATOMEXPLAYBACK_STATUS_PLAYING
Definition: cri_le_atom_ex.h:4186
CriAtomExPlaybackId criAtomExPlayer_Prepare(CriAtomExPlayerHn player)
再生の準備

ポーズ解除処理に criAtomExPlayback_Pause 関数を使用した場合、 本関数による再生準備のためのポーズと、 criAtomExPlayer_Pause 関数による一時停止処理の両方が解除されます。
criAtomExPlayer_Pause 関数でポーズした音声を停止したまま 本関数で再生準備を行った音声を再生したい場合、ポーズの解除に criAtomExPlayer_Resume 関数(または criAtomExPlayback_Resume 関数)をご利用ください。

参照
criAtomExPlayback_GetStatus, criAtomExPlayback_Pause

◆ criAtomExPlayer_Stop()

void criAtomExPlayer_Stop ( CriAtomExPlayerHn  player)

再生の停止

引数
[in]playerAtomExプレーヤーハンドル
説明:
再生の停止要求を発行します。
音声再生中の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

◆ criAtomExPlayer_StopWithoutReleaseTime()

void criAtomExPlayer_StopWithoutReleaseTime ( CriAtomExPlayerHn  player)

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

引数
[in]playerAtomExプレーヤーハンドル
説明:
再生の停止要求を発行します。
この際、再生中の音声にエンベロープのリリースタイムが設定されていたとしても、 それを無視して停止します。
音声再生中の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

◆ criAtomExPlayer_StopAllPlayers()

void 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

◆ criAtomExPlayer_StopAllPlayersWithoutReleaseTime()

void 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

◆ criAtomExPlayer_Pause()

void criAtomExPlayer_Pause ( CriAtomExPlayerHn  player,
CriBool  sw 
)

ポーズ/ポーズ解除

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_Resume()

void criAtomExPlayer_Resume ( CriAtomExPlayerHn  player,
CriAtomExResumeMode  mode 
)

ポーズ解除

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_IsPaused()

CriBool criAtomExPlayer_IsPaused ( CriAtomExPlayerHn  player)

ポーズ状態の取得

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

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

◆ criAtomExPlayer_GetStatus()

CriAtomExPlayerStatus criAtomExPlayer_GetStatus ( CriAtomExPlayerHn  player)

ステータスの取得

引数
[in]playerAtomExプレーヤーハンドル
戻り値
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);
// セットされた音声データを再生
// 再生完了待ち
for (;;) {
// ステータスの取得
status = criAtomExPlayer_GetStatus(player);
// ステータスのチェック
// 再生終了時はループを抜ける
break;
}
// サーバー処理の実行
// 画面表示の更新等
:
}
:
}
参照
criAtomExPlayer_Start

◆ criAtomExPlayer_EnumeratePlaybacks()

void criAtomExPlayer_EnumeratePlaybacks ( CriAtomExPlayerHn  player,
CriAtomExPlaybackCbFunc  func,
void *  obj 
)

再生中の音声の列挙

引数
[in]playerAtomExプレーヤーハンドル
[in]funcプレイバックコールバック関数
[in]objユーザ指定オブジェクト
説明:
プレーヤーで再生中のプレイバックを列挙します。

本関数を実行すると、第 2 引数( func ) でセットされたコールバック関数が再生中のプレイバックの数分だけ呼び出されます。
(プレイバックIDが、引数としてコールバック関数に渡されます。)
備考:
第 3 引数( obj )にセットした値は、コールバック関数の引数として渡されます。
コールバック関数のその他の引数については、 別途 CriAtomExPlaybackCbFunc の説明をご参照ください。
参照
CriAtomExPlaybackCbFunc

◆ criAtomExPlayer_GetNumPlaybacks()

CriSint32 criAtomExPlayer_GetNumPlaybacks ( CriAtomExPlayerHn  player)

再生中の音声数の取得

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

◆ criAtomExPlayer_GetLastPlaybackId()

CriAtomExPlaybackId criAtomExPlayer_GetLastPlaybackId ( CriAtomExPlayerHn  player)

最終再生IDの取得

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

◆ criAtomExPlayer_GetTime()

CriSint64 criAtomExPlayer_GetTime ( CriAtomExPlayerHn  player)

再生時刻の取得

引数
[in]playerAtomExプレーヤーハンドル
戻り値
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

◆ criAtomExPlayer_SetFormat()

void criAtomExPlayer_SetFormat ( CriAtomExPlayerHn  player,
CriAtomExFormat  format 
)

フォーマットの指定

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

◆ criAtomExPlayer_SetNumChannels()

void criAtomExPlayer_SetNumChannels ( CriAtomExPlayerHn  player,
CriSint32  num_channels 
)

チャンネル数の指定

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

◆ criAtomExPlayer_SetSamplingRate()

void criAtomExPlayer_SetSamplingRate ( CriAtomExPlayerHn  player,
CriSint32  sampling_rate 
)

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

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

◆ criAtomExPlayer_SetSoundRendererType()

void criAtomExPlayer_SetSoundRendererType ( CriAtomExPlayerHn  player,
CriAtomSoundRendererType  type 
)

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

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

◆ criAtomExPlayer_SetGroupNumber()

void criAtomExPlayer_SetGroupNumber ( CriAtomExPlayerHn  player,
CriSint32  group_no 
)

グループ番号の指定

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_SetVoiceControlMethod()

void criAtomExPlayer_SetVoiceControlMethod ( CriAtomExPlayerHn  player,
CriAtomExVoiceControlMethod  method 
)

ボイス制御方法の指定

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_SetVoicePoolIdentifier()

void criAtomExPlayer_SetVoicePoolIdentifier ( CriAtomExPlayerHn  player,
CriAtomExVoicePoolIdentifier  identifier 
)

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

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

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

◆ criAtomExPlayer_SetHcaMxMixerId()

void criAtomExPlayer_SetHcaMxMixerId ( CriAtomExPlayerHn  player,
CriSint32  mixer_id 
)

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

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

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

◆ criAtomExPlayer_SetAsrRackId()

void criAtomExPlayer_SetAsrRackId ( CriAtomExPlayerHn  player,
CriSint32  rack_id 
)

ASRラックIDの指定

引数
[in]playerAtomExプレーヤーハンドル
[in]rack_idASRラック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

◆ criAtomExPlayer_SetAsrRackIdArray()

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

複数のASRラックIDの指定

引数
[in]playerAtomExプレーヤーハンドル
[in]rack_id_arrayASRラックIDの配列
[in]num_racksASRラック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

◆ criAtomExPlayer_SetStartTime()

void criAtomExPlayer_SetStartTime ( CriAtomExPlayerHn  player,
CriSint64  start_time_ms 
)

再生開始位置の指定

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

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

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

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

◆ criAtomExPlayer_SetSyncPlaybackId()

void criAtomExPlayer_SetSyncPlaybackId ( CriAtomExPlayerHn  player,
CriAtomExPlaybackId  playback_id 
)

同期再生IDの設定

引数
[in]playerAtomExプレーヤーハンドル
[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 関数をご利用ください。

参照
criAtomExPlayback_GetNumPlayedSamples

◆ criAtomExPlayer_SetPlaybackRatio()

void criAtomExPlayer_SetPlaybackRatio ( CriAtomExPlayerHn  player,
CriFloat32  playback_ratio 
)

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

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

◆ criAtomExPlayer_LimitLoopCount()

void criAtomExPlayer_LimitLoopCount ( CriAtomExPlayerHn  player,
CriSint32  count 
)

ループ回数の制限

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_UpdateAll()

void criAtomExPlayer_UpdateAll ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_Update()

void criAtomExPlayer_Update ( CriAtomExPlayerHn  player,
CriAtomExPlaybackId  id 
)

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

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

◆ criAtomExPlayer_ResetParameters()

void criAtomExPlayer_ResetParameters ( CriAtomExPlayerHn  player)

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

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

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

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

◆ criAtomExPlayer_GetParameterFloat32()

CriFloat32 criAtomExPlayer_GetParameterFloat32 ( CriAtomExPlayerHn  player,
CriAtomExParameterId  id 
)

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

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

◆ criAtomExPlayer_GetParameterUint32()

CriUint32 criAtomExPlayer_GetParameterUint32 ( CriAtomExPlayerHn  player,
CriAtomExParameterId  id 
)

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

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

◆ criAtomExPlayer_GetParameterSint32()

CriSint32 criAtomExPlayer_GetParameterSint32 ( CriAtomExPlayerHn  player,
CriAtomExParameterId  id 
)

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

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

◆ criAtomExPlayer_SetVolume()

void criAtomExPlayer_SetVolume ( CriAtomExPlayerHn  player,
CriFloat32  volume 
)

ボリュームの設定

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

ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
ボリュームのデフォルト値は1.0fです。
例:
// ボリュームの設定
// 再生の開始
// 備考)ボリュームはプレーヤーに設定された値(=0.5f)で再生される。
id = criAtomExPlayer_Start(player);
// ボリュームの変更
// 注意)この時点では再生中の音声のボリュームは変更されない。
// プレーヤーに設定されたボリュームを再生中の音声にも反映
備考:
ボリューム値には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

◆ criAtomExPlayer_SetPitch()

void criAtomExPlayer_SetPitch ( CriAtomExPlayerHn  player,
CriFloat32  pitch 
)

ピッチの設定

引数
[in]playerAtomExプレーヤーハンドル
[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);
// プレーヤーに設定されたピッチを再生中の音声にも反映
void criAtomExPlayer_SetPitch(CriAtomExPlayerHn player, CriFloat32 pitch)
ピッチの設定
備考:
キュー再生時、データ側にピッチが設定されている場合に本関数を呼び出すと、 データ側に設定されている値と本関数による設定値とを加算した値が適用されます。
例えば、データ側のピッチが-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

◆ criAtomExPlayer_SetMaxPitch()

void criAtomExPlayer_SetMaxPitch ( CriAtomExPlayerHn  player,
CriFloat32  pitch 
)

最大ピッチの設定

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

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

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

◆ criAtomExPlayer_SetPan3dAngle()

void criAtomExPlayer_SetPan3dAngle ( CriAtomExPlayerHn  player,
CriFloat32  pan3d_angle 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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角度の設定
// 再生の開始
// 備考)パンニング3D角度はプレーヤーに設定された値(=45.0f)で再生される。
id = criAtomExPlayer_Start(player);
// パンニング3D角度の変更
// 注意)この時点では再生中の音声のパンニング3D角度は変更されない。
// プレーヤーに設定されたパンニング3D角度を再生中の音声にも反映
void criAtomExPlayer_SetPan3dAngle(CriAtomExPlayerHn player, CriFloat32 pan3d_angle)
パンニング3D角度の設定
備考:
キュー再生時、データ側にパンニング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

◆ criAtomExPlayer_SetPan3dInteriorDistance()

void criAtomExPlayer_SetPan3dInteriorDistance ( CriAtomExPlayerHn  player,
CriFloat32  pan3d_interior_distance 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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距離の設定
// 再生の開始
// 備考)パンニング3D距離はプレーヤーに設定された値(=0.5f)で再生される。
id = criAtomExPlayer_Start(player);
// パンニング3D距離の変更
// 注意)この時点では再生中の音声のパンニング3D距離は変更されない。
// 備考)以下の処理はパン3D角度を180度反転するのと等価
// プレーヤーに設定されたパンニング3D距離を再生中の音声にも反映
void criAtomExPlayer_SetPan3dInteriorDistance(CriAtomExPlayerHn player, CriFloat32 pan3d_interior_distance)
パンニング3D距離の設定
備考:
キュー再生時、データ側にパンニング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

◆ criAtomExPlayer_SetPan3dVolume()

void criAtomExPlayer_SetPan3dVolume ( CriAtomExPlayerHn  player,
CriFloat32  pan3d_volume 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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ボリュームの設定
// 再生の開始
// 備考)パンニング3Dボリュームはプレーヤーに設定された値(=0.5f)で再生される。
id = criAtomExPlayer_Start(player);
// パンニング3Dボリュームの変更
// 注意)この時点では再生中の音声のパンニング3Dボリュームは変更されない。
// プレーヤーに設定されたパンニング3Dボリュームを再生中の音声にも反映
void criAtomExPlayer_SetPan3dVolume(CriAtomExPlayerHn player, CriFloat32 pan3d_volume)
パンニング3Dボリュームの設定
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetVolume, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_SetPanType()

void criAtomExPlayer_SetPanType ( CriAtomExPlayerHn  player,
CriAtomExPanType  pan_type 
)

パンタイプの設定

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_GetPanTypeOnPlayback()

CriAtomExPanType criAtomExPlayer_GetPanTypeOnPlayback ( CriAtomExPlayerHn  player)

プレーヤー再生時のパンタイプの取得

引数
[in]playerAtomExプレーヤーハンドル
戻り値
CriAtomExPanType プレーヤー再生時のパンタイプ
説明:
プレーヤー再生時のパンタイプを取得します。
本関数は criAtomExPlayer_SetPanType 関数にて設定したパンタイプに応じたパンタイプが返却されます。
当該設定関数を呼び出していない場合、データの設定値依存となってしまうため CRIATOMEX_PAN_TYPE_UNKNOWN が返却されます。
備考:
CRIATOMEX_PAN_TYPE_AUTO を設定している場合、以下に従って返却されるパンタイプが変化します。
参照
criAtomExPlayer_SetPanType

◆ criAtomExPlayer_SetPanSpeakerType()

void criAtomExPlayer_SetPanSpeakerType ( CriAtomExPlayerHn  player,
CriAtomExPanSpeakerType  pan_speaker_type 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_AddMixDownCenterVolumeOffset()

void criAtomExPlayer_AddMixDownCenterVolumeOffset ( CriAtomExPlayerHn  player,
CriFloat32  mixdown_center_volume_offset 
)

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

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

◆ criAtomExPlayer_AddMixDownLfeVolumeOffset()

void criAtomExPlayer_AddMixDownLfeVolumeOffset ( CriAtomExPlayerHn  player,
CriFloat32  mixdown_lfe_volume_offset 
)

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

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

◆ criAtomExPlayer_ChangeDefaultPanSpeakerType()

void criAtomExPlayer_ChangeDefaultPanSpeakerType ( CriAtomExPanSpeakerType  pan_speaker_type)

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

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

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

◆ criAtomExPlayer_OverrideDefaultPanMethod()

void criAtomExPlayer_OverrideDefaultPanMethod ( CriAtomExPlayerPanCbFunc  func,
void *  obj 
)

デフォルトのパンニング処理を上書き

引数
[in]funcパンニング処理関数
[in]objユーザ指定オブジェクト
説明:
パンニング処理をユーザー独自の処理に置き換えます。
備考:
本関数でパンニング処理関数を登録すると、Atomライブラリのパンニング処理が無効化され、 パンニングの際にユーザーが指定したコールバック関数を呼び出すよう動作が変更されます。
コールバック内でセンドレベルマトリクスを操作することにより、 ユーザー独自のパンニングアルゴリズムを使用することが可能となります。
参照
CriAtomExPlayerPanCbFunc

◆ criAtomExPlayer_SetPanAngleType()

void criAtomExPlayer_SetPanAngleType ( CriAtomExPlayerHn  player,
CriAtomExPanAngleType  pan_angle_type 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_SetWideness()

void criAtomExPlayer_SetWideness ( CriAtomExPlayerHn  player,
CriFloat32  wideness 
)

マルチチャンネル音声の広がり設定

引数
[in]playerAtomExプレーヤーハンドル
[in]widenessマルチチャンネル音声の広がり
説明:
マルチチャンネル音声の広がりを指定します。
マルチチャンネル(ステレオ、5.1ch等)の音声素材をパンニングするときに、各入力チャンネル間の角度をどれだけ広げるかを指定します。
引数 wideness の値域は 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, criAtomExPlayer_SetSpread

◆ criAtomExPlayer_SetSpread()

void criAtomExPlayer_SetSpread ( CriAtomExPlayerHn  player,
CriFloat32  spread 
)

スプレッドの設定

引数
[in]playerAtomExプレーヤーハンドル
[in]spreadスプレッド
説明:
スプレッドを指定します。
スプレッドは、音源の定位感を操作するパラメーターです。
引数 spread の値域は 0.0 〜 1.0 です。デフォルト値は 0.0 です。
spread の値が大きいほど、音像の定位感が薄れます。
例えば、-30度に配置した音声は、デフォルト設定(スプレッドの値が0の状態)ではLスピーカーのみから出力されます。
スプレッドの値を変更した場合、音声がLスピーカーだけでなく、周囲の複数のスピーカーで出力されるよう変化します。
criAtomExPlayer_SetWideness 関数と異なり、モノラル音源にも適用可能です。
備考:
本関数でパンニング時の角度タイプを設定後、::criAtomExPlayer_Start 関数により再生開始すると、設定された広がりでパンニング計算されます。
また設定後、::criAtomExPlayer_Update 関数、::criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声の広がりを更新することができます。

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

◆ criAtomExPlayer_SetSendLevel()

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

センドレベルの設定

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

第2引数のチャンネル番号は"音声データのチャンネル番号"を指定します。
第3引数のスピーカーIDには、指定したチャンネル番号のデータをどのスピーカーから 出力するかを指定し、第4引数では送信時のレベル(ボリューム)を指定します。
例えば、音声データのチャンネル0番のデータをライトスピーカーから フルボリューム(1.0f)で出力したい場合、指定は以下のようになります。
void criAtomExPlayer_SetSendLevel(CriAtomExPlayerHn player, CriSint32 ch, CriAtomExSpeakerId spk, CriFloat32 level)
センドレベルの設定
@ CRIATOMEX_SPEAKER_FRONT_RIGHT
Definition: cri_le_atom_ex.h:3706

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

なお、センタースピーカーのあるプラットフォームで、モノラル音をセンタースピーカーのみから出力したい場合、 本関数ではなく::criAtomExPlayer_SetPanSpeakerType 関数で::CRIATOMEX_PAN_SPEAKER_TYPE_5CH を設定することをお薦めします。
例:
CriSint32 ch = 0; // channel number 0
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);
enum CriAtomExSpeakerIdTag CriAtomExSpeakerId
スピーカーID
@ CRIATOMEX_SPEAKER_FRONT_CENTER
Definition: cri_le_atom_ex.h:3707
備考:
センドレベルの設定には「自動設定」「手動設定」の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

◆ criAtomExPlayer_SetBusSendLevelByName()

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

バスセンドレベルの設定

引数
[in]playerAtomExプレーヤーハンドル
[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);
// プレーヤーに設定されたパラメーターを再生中の音声にも反映
void criAtomExPlayer_SetBusSendLevelByName(CriAtomExPlayerHn player, const CriChar8 *bus_name, CriFloat32 level)
バスセンドレベルの設定
備考:
本関数に異なるバス名を指定して複数回呼び出すことで、複数のバスに流すこともできます。

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

◆ criAtomExPlayer_ResetBusSends()

void criAtomExPlayer_ResetBusSends ( CriAtomExPlayerHn  player)

バスセンドレベルのリセット

引数
[in]playerAtomExプレーヤーハンドル
説明:
AtomEx プレーヤーに設定されているバスセンド情報をリセットし、初期状態(未設定状態)に戻します。
参照
criAtomExPlayer_SetBusSendLevelByName

◆ criAtomExPlayer_GetBusSendLevelByName()

CriBool criAtomExPlayer_GetBusSendLevelByName ( CriAtomExPlayerHn  player,
const CriChar8 *  bus_name,
CriFloat32 *  level 
)

バスセンドレベルの取得

引数
[in]playerAtomEx プレーヤーハンドル
[in]bus_nameバス名
[out]levelバスセンドレベル値(0.0f〜1.0f)
戻り値
CriBool バスセンドレベル値が取得できたかどうか?(取得できた:CRI_TRUE/取得できない:CRI_FALSE)
説明:
指定した AtomEx プレーヤーに設定されている特定のバスセンドレベルを取得します。

第2引数にはDSPバス設定内のバス名を指定します。

なお、以下のケースに該当する場合、バスセンドレベルの取得に失敗します。
  • 第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない
  • 第1引数にて指定した AtomEx プレーヤーに第2引数のバス名に関するバスセンドレベルの設定を行っていない
参照
criAtomExPlayer_SetBusSendLevelByName

◆ criAtomExPlayer_SetBusSendLevelOffsetByName()

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

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

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

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

◆ criAtomExPlayer_GetBusSendLevelOffsetByName()

CriBool criAtomExPlayer_GetBusSendLevelOffsetByName ( CriAtomExPlayerHn  player,
const CriChar8 *  bus_name,
CriFloat32 *  level_offset 
)

バスセンドレベルのオフセットの取得

引数
[in]playerAtomEx プレーヤーハンドル
[in]bus_nameバス名
[out]level_offsetバスセンドレベルのオフセット値(0.0f〜1.0f)
戻り値
CriBool バスセンドレベルのオフセット値が取得できたかどうか?(取得できた:CRI_TRUE/取得できない:CRI_FALSE)
説明:
指定した AtomEx プレーヤーに設定されている特定のバスセンドレベルのオフセットを取得します。

第2引数にはDSPバス設定内のバス名を指定します。

なお、以下のケースに該当する場合、バスセンドレベルのオフセットの取得に失敗します。
  • 第2引数のバス名で指定したバスが適用中のDSPバス設定に存在しない
  • 第1引数にて指定した AtomEx プレーヤーに第2引数のバス名に関するバスセンドレベルの設定を行っていない
参照
criAtomExPlayer_SetBusSendLevelByName

◆ criAtomExPlayer_SetPanAdx1Compatible()

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

ADX1互換のパンの設定

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

◆ criAtomExPlayer_SetBandpassFilterParameters()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[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;
// 再生の開始
id = criAtomExPlayer_Start(player);
// パラメーターの変更
// 注意)この時点では再生中の音声のパラメーターは変更されない。
cof_low = 0.7f;
cof_high = 1.0f;
// プレーヤーに設定されたパラメーターを再生中の音声にも反映
void criAtomExPlayer_SetBandpassFilterParameters(CriAtomExPlayerHn player, CriFloat32 cof_low, CriFloat32 cof_high)
バンドパスフィルターのパラメーター設定
備考:
キュー再生時、データ側にバンドパスフィルターのパラメーターが設定されている場合に本関数を呼び出すと、 以下のように設定されます。
  • 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

◆ criAtomExPlayer_SetBiquadFilterParameters()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[in]typeフィルタータイプ
[in]frequency正規化周波数(0.0f〜1.0f)
[in]gainゲイン(デシベル値)
[in]q_valueQ値
説明:
バイクアッドフィルターの各種パラメーターを指定します。
本関数でパラメーターを設定後、::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:ピーキングフィルター
例:
// フィルターのパラメーターを設定
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);
// プレーヤーに設定されたパラメーターを再生中の音声にも反映
enum CriAtomExBiquadFilterTypeTag CriAtomExBiquadFilterType
バイクアッドフィルターのタイプ
@ CRIATOMEX_BIQUAD_FILTER_TYPE_LOWPASS
Definition: cri_le_atom_ex.h:1992
void criAtomExPlayer_SetBiquadFilterParameters(CriAtomExPlayerHn player, CriAtomExBiquadFilterType type, CriFloat32 frequency, CriFloat32 gain, CriFloat32 q_value)
バイクアッドフィルターのパラメーター設定
備考:
  • 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

◆ criAtomExPlayer_SetVoicePriority()

void criAtomExPlayer_SetVoicePriority ( CriAtomExPlayerHn  player,
CriSint32  priority 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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

◆ criAtomExPlayer_SetAisacControlById()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[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);
// プレーヤーに設定されたパラメーターを再生中の音声にも反映
CriUint32 CriAtomExAisacControlId
AISACコントロールID
Definition: cri_le_atom_ex.h:2578
void criAtomExPlayer_SetAisacControlById(CriAtomExPlayerHn player, CriAtomExAisacControlId control_id, CriFloat32 control_value)
AISACコントロール値の設定(コントロール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

◆ criAtomExPlayer_SetAisacControlByName()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[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);
// プレーヤーに設定されたパラメーターを再生中の音声にも反映
void criAtomExPlayer_SetAisacControlByName(CriAtomExPlayerHn player, const CriChar8 *control_name, CriFloat32 control_value)
AISACコントロール値の設定(コントロール名指定)
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照
criAtomExPlayer_Start, criAtomExPlayer_Update, criAtomExPlayer_UpdateAll, criAtomExPlayer_SetAisacControlById, criAtomExPlayer_ClearAisacControls, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_ClearAisacControls()

void criAtomExPlayer_ClearAisacControls ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_Set3dSourceHn()

void criAtomExPlayer_Set3dSourceHn ( CriAtomExPlayerHn  player,
CriAtomEx3dSourceHn  source 
)

3D音源ハンドルの設定

引数
[in]playerAtomExプレーヤーハンドル
[in]source3D音源ハンドル
説明:
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音源ハンドルに関する設定をクリアしてください。
例:
listener = criAtomEx3dListener_Create(NULL, NULL, 0);
source = criAtomEx3dSource_Create(NULL, NULL, 0);
player = criAtomExPlayer_Create(NULL, NULL, 0);
pos.x = 0.0f;
pos.y = 0.0f;
pos.z = 0.0f;
// Start playback
id = criAtomExPlayer_Start(player);
:
pos.x += 10.0f;
void criAtomEx3dSource_Update(CriAtomEx3dSourceHn ex_3d_source)
3D音源の更新
CriAtomEx3dListenerObj * CriAtomEx3dListenerHn
3Dリスナーハンドル
Definition: cri_le_atom_ex.h:4628
CriAtomEx3dListenerHn criAtomEx3dListener_Create(const CriAtomEx3dListenerConfig *config, void *work, CriSint32 work_size)
3Dリスナーハンドルの作成
CriAtomEx3dSourceObj * CriAtomEx3dSourceHn
3D音源ハンドル
Definition: cri_le_atom_ex.h:4602
void criAtomEx3dSource_SetPosition(CriAtomEx3dSourceHn ex_3d_source, const CriAtomExVector *position)
3D音源の位置の設定
CriAtomEx3dSourceHn criAtomEx3dSource_Create(const CriAtomEx3dSourceConfig *config, void *work, CriSint32 work_size)
3D音源ハンドルの作成
void criAtomExPlayer_Set3dSourceHn(CriAtomExPlayerHn player, CriAtomEx3dSourceHn source)
3D音源ハンドルの設定
void criAtomExPlayer_Set3dListenerHn(CriAtomExPlayerHn player, CriAtomEx3dListenerHn listener)
3Dリスナーハンドルの設定
3次元ベクトル構造体
Definition: cri_le_atom_ex.h:4510
CriFloat32 z
Definition: cri_le_atom_ex.h:4513
CriFloat32 y
Definition: cri_le_atom_ex.h:4512
CriFloat32 x
Definition: cri_le_atom_ex.h:4511
参照
CriAtomEx3dSourceHn, CriAtomEx3dSourceListHn, criAtomExPlayer_Set3dSourceListHn, criAtomEx3dListenerHn, criAtomExPlayer_SetListenerHn, criAtomExPlayer_Update, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_Set3dSourceListHn()

void criAtomExPlayer_Set3dSourceListHn ( CriAtomExPlayerHn  player,
CriAtomEx3dSourceListHn  source_list 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[in]source_list3D音源ハンドルリスト
説明:
マルチポジショニング再生を実現するための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プレーヤーからクリアされます。
例:
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;
criAtomEx3dSourceList_Add(source_list, source[i]);
}
player = criAtomExPlayer_Create(NULL, NULL, 0);
criAtomExPlayer_Set3dSourceListHn(player, source_list);
// Start playback
id = criAtomExPlayer_Start(player);
:
pos[2].x += 25.0f;
pos[5].z += 10.0f;
CriAtomEx3dSourceListObj * CriAtomEx3dSourceListHn
3D音源ハンドルリスト
Definition: cri_le_atom_ex.h:4614
void criAtomEx3dSourceList_Add(CriAtomEx3dSourceListHn ex_3d_source_list, CriAtomEx3dSourceHn ex_3d_source)
3D音源ハンドルリストへの3D音源ハンドルの追加
CriAtomEx3dSourceListHn criAtomEx3dSourceList_Create(const CriAtomEx3dSourceListConfig *config, void *work, CriSint32 work_size)
3D音源ハンドルリストの作成
void criAtomExPlayer_Set3dSourceListHn(CriAtomExPlayerHn player, CriAtomEx3dSourceListHn source_list)
3D音源ハンドルリストの設定
参照
CriAtomEx3dSourceListHn, CriAtomEx3dSourceHn, criAtomExPlayer_Set3dSourceHn, CriAtomEx3dListenerHn, CriAtomExPlayer_Set3dListenerHn, criAtomExPlayer_Update, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_Set3dListenerHn()

void criAtomExPlayer_Set3dListenerHn ( CriAtomExPlayerHn  player,
CriAtomEx3dListenerHn  listener 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[in]listener3Dリスナーハンドル
説明:
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 を指定してください。

例:
listener = criAtomEx3dListener_Create(NULL, NULL, 0);
source = criAtomEx3dSource_Create(NULL, NULL, 0);
player = criAtomExPlayer_Create(NULL, NULL, 0);
pos.x = 0.0f;
pos.y = 0.0f;
pos.z = 0.0f;
// Start playback
id = criAtomExPlayer_Start(player);
:
pos.x += 10.0f;
参照
CriAtomEx3dListenerHn, criAtomExPlayer_Set3dSourceHn, criAtomExPlayer_Update, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_GetAisacControlById()

CriFloat32 criAtomExPlayer_GetAisacControlById ( CriAtomExPlayerHn  player,
CriAtomExAisacControlId  control_id 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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);
CriFloat32 criAtomExPlayer_GetAisacControlById(CriAtomExPlayerHn player, CriAtomExAisacControlId control_id)
AISACコントロール値の取得(コントロールID指定)
参照
criAtomExPlayer_SetAisacControlById, criAtomExPlayer_GetAisacControlByName

◆ criAtomExPlayer_GetAisacControlByName()

CriFloat32 criAtomExPlayer_GetAisacControlByName ( CriAtomExPlayerHn  player,
const CriChar8 *  control_name 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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);
CriFloat32 criAtomExPlayer_GetAisacControlByName(CriAtomExPlayerHn player, const CriChar8 *control_name)
AISACコントロール値の取得(コントロール名指定)
参照
criAtomExPlayer_SetAisacControlByName, criAtomExPlayer_GetAisacControlById

◆ criAtomExPlayer_SetCategoryById()

void criAtomExPlayer_SetCategoryById ( CriAtomExPlayerHn  player,
CriUint32  category_id 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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のレジスト、アンレジストを行うとクリアされます。

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
例:
// Set default category
criAtomExPlayer_SetCategoryById(player, (CriUint32)CRIATOMEXCATEGORY_DEFAULT_ID_BGM);
void criAtomExPlayer_SetCategoryById(CriAtomExPlayerHn player, CriUint32 category_id)
カテゴリの設定(ID指定)
注意
カテゴリ設定は再生開始前に行ってください。再生中の音声のカテゴリは更新されません。
参照
criAtomExPlayer_UnsetCategory, criAtomExPlayer_SetCategoryByName, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_SetCategoryByName()

void criAtomExPlayer_SetCategoryByName ( CriAtomExPlayerHn  player,
const CriChar8 *  category_name 
)

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

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

本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
例:
// Set default category
criAtomExPlayer_SetCategoryByName(player, CRIATOMEXCATEGORY_DEFAULT_NAME_BGM);
void criAtomExPlayer_SetCategoryByName(CriAtomExPlayerHn player, const CriChar8 *category_name)
カテゴリの設定(カテゴリ名指定)
注意
カテゴリ設定は再生開始前に行ってください。再生中の音声のカテゴリは更新されません。
参照
criAtomExPlayer_UnsetCategory, criAtomExPlayer_SetCategoryById, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_UnsetCategory()

void criAtomExPlayer_UnsetCategory ( CriAtomExPlayerHn  player)

カテゴリの削除

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

◆ criAtomExPlayer_GetNumCategories()

CriSint32 criAtomExPlayer_GetNumCategories ( CriAtomExPlayerHn  player)

カテゴリ数の取得

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

◆ criAtomExPlayer_GetCategoryInfo()

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

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

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

◆ criAtomExPlayer_SetTrackInfo()

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

トラック情報の指定

引数
[in]playerAtomExプレーヤーハンドル
[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);
void criAtomExPlayer_SetTrackVolume(CriAtomExPlayerHn player, CriSint32 track_no, CriFloat32 volume)
トラックのボリューム設定
void criAtomExPlayer_SetTrackInfo(CriAtomExPlayerHn player, CriSint32 num_tracks, const CriSint32 *channels_per_track)
トラック情報の指定
注意
本関数は内部的に criAtomExPlayer_SetSendLevel 関数を使用しています。
そのため、本関数実行後に criAtomExPlayer_SetSendLevel 関数を使用した場合、 音声の出力位置や出力ボリュームが意図しない結果になる可能性があります。
(同様に、 criAtomExPlayer_SetPan3dAngle 関数や criAtomExPlayer_SetSendLevel 関数も併用できません。)
本関数は、3チャンネル以上の入力に対応した機種でしか利用できません。
2チャンネル(ステレオ)以下の入力までしか対応していない機種ではリンクエラーとなります。
参照
criAtomExPlayer_SetTrackVolume

◆ criAtomExPlayer_SetTrackVolume()

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

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

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

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

◆ criAtomExPlayer_SetSilentMode()

void criAtomExPlayer_SetSilentMode ( CriAtomExPlayerHn  player,
CriAtomExSilentMode  silent_mode 
)

無音時処理モードの設定

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

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

◆ criAtomExPlayer_SetCuePriority()

void criAtomExPlayer_SetCuePriority ( CriAtomExPlayerHn  player,
CriSint32  cue_priority 
)

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

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

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

◆ criAtomExPlayer_SetPreDelayTime()

void criAtomExPlayer_SetPreDelayTime ( CriAtomExPlayerHn  player,
CriFloat32  predelay_time_ms 
)

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

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

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

◆ criAtomExPlayer_SetEnvelopeAttackTime()

void criAtomExPlayer_SetEnvelopeAttackTime ( CriAtomExPlayerHn  player,
CriFloat32  attack_time_ms 
)

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

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

アタックタイムの単位は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)
void criAtomExPlayer_SetEnvelopeAttackTime(CriAtomExPlayerHn player, CriFloat32 attack_time_ms)
エンベロープのアタックタイムの設定
備考:
キュー再生時、データ側にアタックタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetEnvelopeAttackCurve()

void criAtomExPlayer_SetEnvelopeAttackCurve ( CriAtomExPlayerHn  player,
CriAtomExCurveType  curve_type,
CriFloat32  strength 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[in]curve_typeカーブタイプ
[in]strengthカーブの強さ
説明:
エンベロープのアタックカーブを設定します。
本関数でアタックカーブを設定後、::criAtomExPlayer_Start 関数により再生開始すると、設定されたアタックカーブで再生されます。

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

カーブの強さは、0.0f〜2.0fの範囲で実数値を指定します。
カーブの強さのデフォルト値は1.0fです。
注意
再生中に::criAtomExPlayer_Update 関数、::criAtomExPlayer_UpdateAll 関数によって更新することはできません。
備考:
キュー再生時、データ側にアタックカーブが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetEnvelopeHoldTime()

void criAtomExPlayer_SetEnvelopeHoldTime ( CriAtomExPlayerHn  player,
CriFloat32  hold_time_ms 
)

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

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

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

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

◆ criAtomExPlayer_SetEnvelopeDecayTime()

void criAtomExPlayer_SetEnvelopeDecayTime ( CriAtomExPlayerHn  player,
CriFloat32  decay_time_ms 
)

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

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

ディケイタイムの単位は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)
void criAtomExPlayer_SetEnvelopeDecayTime(CriAtomExPlayerHn player, CriFloat32 decay_time_ms)
エンベロープのディケイタイムの設定
備考:
キュー再生時、データ側にディケイタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetEnvelopeDecayCurve()

void criAtomExPlayer_SetEnvelopeDecayCurve ( CriAtomExPlayerHn  player,
CriAtomExCurveType  curve_type,
CriFloat32  strength 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[in]curve_typeカーブタイプ
[in]strengthカーブの強さ
説明:
エンベロープのディケイカーブを設定します。
本関数でディケイカーブを設定後、::criAtomExPlayer_Start 関数により再生開始すると、設定されたディケイカーブで再生されます。

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

カーブの強さは、0.0f〜2.0fの範囲で実数値を指定します。
カーブの強さのデフォルト値は1.0fです。
注意
再生中に::criAtomExPlayer_Update 関数、::criAtomExPlayer_UpdateAll 関数によって更新することはできません。
備考:
キュー再生時、データ側にディケイカーブが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetEnvelopeReleaseTime()

void criAtomExPlayer_SetEnvelopeReleaseTime ( CriAtomExPlayerHn  player,
CriFloat32  release_time_ms 
)

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

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

リリースタイムの単位はms(ミリ秒)です。
リリースタイムのデフォルト値は0.0fです。
例:
CriFloat32 release_time_ms = 3000.0f;
// Set release time
criAtomExPlayer_SetEnvelopeReleaseTime(player, release_time_ms);
// Start playback(release time=3000ms)
void criAtomExPlayer_SetEnvelopeReleaseTime(CriAtomExPlayerHn player, CriFloat32 release_time_ms)
エンベロープのリリースタイムの設定
備考:
キュー再生時、データ側にリリースタイムが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetEnvelopeReleaseCurve()

void criAtomExPlayer_SetEnvelopeReleaseCurve ( CriAtomExPlayerHn  player,
CriAtomExCurveType  curve_type,
CriFloat32  strength 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[in]curve_typeカーブタイプ
[in]strengthカーブの強さ
説明:
エンベロープのリリースカーブを設定します。
本関数でリリースカーブを設定後、::criAtomExPlayer_Start 関数により再生開始すると、設定されたリリースカーブで再生されます。

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

カーブの強さは、0.0f〜2.0fの範囲で実数値を指定します。
カーブの強さのデフォルト値は1.0fです。
注意
再生中に::criAtomExPlayer_Update 関数、::criAtomExPlayer_UpdateAll 関数によって更新することはできません。
備考:
キュー再生時、データ側にリリースカーブが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetEnvelopeSustainLevel()

void criAtomExPlayer_SetEnvelopeSustainLevel ( CriAtomExPlayerHn  player,
CriFloat32  susutain_level 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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
// Start playback(sustain level=0.5)
void criAtomExPlayer_SetEnvelopeSustainLevel(CriAtomExPlayerHn player, CriFloat32 susutain_level)
エンベロープのサスティンレベルの設定
備考:
キュー再生時、データ側にサスティンレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値を上書きして適用されます(データ側の設定値は無視されます)。

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

◆ criAtomExPlayer_SetDataRequestCallback()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[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);
// セットされた音声データを再生
:
}
void criAtomExPlayer_SetDataRequestCallback(CriAtomExPlayerHn player, CriAtomExPlayerDataRequestCbFunc func, void *obj)
データ要求コールバック関数の登録
CriUint32 CriAtomExPlaybackId
再生ID
Definition: cri_le_atom_ex.h:3728
struct CriAtomPlayerTag * CriAtomPlayerHn
Atomプレーヤーハンドル
Definition: cri_le_atom.h:2345
void criAtomPlayer_SetData(CriAtomPlayerHn player, void *buffer, CriSint32 buffer_size)
音声データのセット(オンメモリデータの指定)
以下の処理により、同一音声データを無限にループ再生可能です。
// データ要求コールバック関数
void on_data_request(void *obj, CriAtomExPlaybackId id, CriAtomPlayerHn player)
{
// 前回再生したデータを再セット
}
main()
{
:
// データ要求コールバック関数の登録
criAtomExPlayer_SetDataRequestCallback(player, on_data_request, NULL);
// 音声データをセット
criAtomExPlayer_SetData(player, buffer, buffer_size);
// セットされた音声データを再生
:
}
void criAtomPlayer_SetPreviousDataAgain(CriAtomPlayerHn 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

◆ criAtomExPlayer_SetFilterCallback()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[in]func波形フィルターコールバック関数
[in]objユーザ指定オブジェクト
説明:
デコード結果の PCM データを受け取るコールバック関数を登録します。
登録されたコールバック関数は、ボイスが音声データをデコードしたタイミングで呼び出されます。
注意
複数の音声データを含むキューを再生した場合、 最初に見つかった波形データについてのみコールバックが実行されます。
(複数の波形データを含むキューについては、 2つ目以降の波形データの情報を取ることができません。)

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

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

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

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

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

◆ criAtomExPlayer_SetRandomSeed()

void criAtomExPlayer_SetRandomSeed ( CriAtomExPlayerHn  player,
CriUint32  seed 
)

乱数種の設定

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

参照
criAtomEx_SetRandomSeed

◆ criAtomExPlayer_SetDspParameter()

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

DSPパラメーターの設定

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

◆ criAtomExPlayer_SetDspBypass()

void criAtomExPlayer_SetDspBypass ( CriAtomExPlayerHn  player,
CriBool  is_bypassed 
)

DSPパラメーターの設定

引数
[in]playerAtomExプレーヤーハンドル
[in]is_bypassedバイパス有無
説明:
AtomExプレーヤーが保持するインサーションDSPをバイパスするかを設定します。
この関数で明示的に指定しなければ、インサーションDSPはバイパスされません。
備考:
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照
criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_AttachAisac()

void criAtomExPlayer_AttachAisac ( CriAtomExPlayerHn  player,
const CriChar8 *  global_aisac_name 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[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");
void criAtomExPlayer_AttachAisac(CriAtomExPlayerHn player, const CriChar8 *global_aisac_name)
プレーヤーにAISACを取り付ける
備考:
全体設定(ACFファイル)に含まれるグローバルAISACのみ、アタッチ可能です。
AISACの効果を得るには、キューやトラックに設定されているAISACと同様に、該当するAISACコントロール値を設定する必要があります。
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
注意
キューやトラックに「AISACコントロール値を変更するAISAC」が設定されていたとしても、その適用結果のAISACコントロール値は、プレーヤーにアタッチしたAISACには影響しません。 現在、「オートモジュレーション」や「ランダム」といったコントロールタイプのAISACのアタッチには対応しておりません。
現在、プレーヤーにアタッチできるAISACの最大数は、8個固定です。
参照
criAtomExPlayer_DetachAisac, criAtomExPlayer_ResetParameters

◆ criAtomExPlayer_DetachAisac()

void criAtomExPlayer_DetachAisac ( CriAtomExPlayerHn  player,
const CriChar8 *  global_aisac_name 
)

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

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

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

◆ criAtomExPlayer_DetachAisacAll()

void criAtomExPlayer_DetachAisacAll ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_GetNumAttachedAisacs()

CriSint32 criAtomExPlayer_GetNumAttachedAisacs ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_GetAttachedAisacInfo()

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

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

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

◆ criAtomExPlayer_SetStreamingCacheId()

void criAtomExPlayer_SetStreamingCacheId ( CriAtomExPlayerHn  player,
CriAtomExStreamingCacheId  cache_id 
)

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

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

◆ criAtomExPlayer_AttachTween()

void criAtomExPlayer_AttachTween ( CriAtomExPlayerHn  player,
CriAtomExTweenHn  tween 
)

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

引数
[in]playerAtomExプレーヤーハンドル
[in]tweenトゥイーンハンドル
説明:
プレーヤーにトゥイーンをアタッチ(取り付け)します。 トゥイーンをアタッチすることにより、簡単な手順でパラメーターの時間変化を行うことができます。
本関数でトゥイーンをアタッチ後、::criAtomExPlayer_Start 関数により再生開始すると、アタッチしたトゥイーンを考慮して、各種パラメーターが適用されます。
またアタッチ後、::criAtomExPlayer_Update 関数、::criAtomExPlayer_UpdateAll 関数を呼び出すことにより、 すでに再生された音声に対しても、アタッチしたトゥイーンによる各種パラメーター設定を適用することができます。
例:
// ボリュームをフェードするTweenの作成
fade_tween = criAtomExTween_Create(&config, NULL, 0);
// Tweenのアタッチ
criAtomExPlayer_AttachTween(player, fade_tween);
// 再生開始
:
// 1秒かけてボリューム0.2にフェード
criAtomExTween_MoveTo(fade_tween, 1000, 0.2f);
:
// 2秒かけてボリューム1.0に復帰
criAtomExTween_MoveTo(fade_tween, 2000, 1.0f);
void criAtomExPlayer_AttachTween(CriAtomExPlayerHn player, CriAtomExTweenHn tween)
プレーヤーにトゥイーンを取り付ける
@ CRIATOMEX_PARAMETER_ID_VOLUME
Definition: cri_le_atom_ex.h:4013
#define criAtomExTween_SetDefaultConfig(p_config)
トゥイーン作成用コンフィグ構造体にデフォルト値をセット
Definition: cri_le_atom_ex.h:1165
CriAtomExTweenHn criAtomExTween_Create(const CriAtomExTweenConfig *config, void *work, CriSint32 work_size)
トゥイーンの作成
void criAtomExTween_MoveTo(CriAtomExTweenHn tween, CriUint16 time_ms, CriFloat32 value)
現在値から指定値に変化
@ CRIATOMEX_PARAMETER_TYPE_BASIC
基本パラメーター
Definition: cri_le_atom_ex.h:5030
トゥイーン作成用コンフィグ構造体
Definition: cri_le_atom_ex.h:5053
CriAtomExTweenParameterType parameter_type
パラメータータイプ
Definition: cri_le_atom_ex.h:5080
CriAtomExParameterId parameter_id
パラメーターID
Definition: cri_le_atom_ex.h:5065
備考:
トゥイーンによって変化したパラメーターは、AtomExプレーヤーに設定されているパラメーターに対し、加算/乗算/上書きされます。
加算/乗算/上書きのどれに該当するかは、AtomExプレーヤーへの設定関数(::criAtomExPlayer_SetVolume 関数等)と同様です。 例えば、ボリュームであれば乗算され、AISACコントロール値であれば上書きします。
現在、プレーヤーにアタッチできるトゥイーンの最大数は、8個固定です。

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

◆ criAtomExPlayer_DetachTween()

void criAtomExPlayer_DetachTween ( CriAtomExPlayerHn  player,
CriAtomExTweenHn  tween 
)

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

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

◆ criAtomExPlayer_DetachTweenAll()

void criAtomExPlayer_DetachTweenAll ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_SetFirstBlockIndex()

void criAtomExPlayer_SetFirstBlockIndex ( CriAtomExPlayerHn  player,
CriAtomExBlockIndex  index 
)

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

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

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

◆ criAtomExPlayer_SetBlockTransitionCallback()

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

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

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

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

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

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

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

◆ criAtomExPlayer_GetSoundObject()

CriAtomExSoundObjectHn criAtomExPlayer_GetSoundObject ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_SetDrySendLevel()

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

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

引数
[in]playerAtomExプレーヤーハンドル
[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加算する)
// 再生の開始
// 備考)ドライセンドレベルはプレーヤーに設定された値で再生される。
id = criAtomExPlayer_Start(player);
// ドライセンドレベルを設定(データ側の値を無効にして0.8fで上書きする)
// 注意)この時点では再生中の音声のドライセンドレベルは変更されない。
// プレーヤーに設定されたドライセンドレベルを再生中の音声にも反映
}
void criAtomExPlayer_SetDrySendLevel(CriAtomExPlayerHn player, CriAtomExSpeakerId spk, CriFloat32 offset, CriFloat32 gain)
ドライセンドレベルの設定(CRI Audio互換用)
備考:
キュー再生時、データ側にドライセンドレベルが設定されている場合に本関数を呼び出すと、 データ側に設定されている値に対し 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

◆ criAtomExPlayer_SetSelectorLabel()

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

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

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

◆ criAtomExPlayer_UnsetSelectorLabel()

void criAtomExPlayer_UnsetSelectorLabel ( CriAtomExPlayerHn  player,
const CriChar8 *  selector 
)

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

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

◆ criAtomExPlayer_ClearSelectorLabels()

void criAtomExPlayer_ClearSelectorLabels ( CriAtomExPlayerHn  player)

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

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

◆ criAtomExPlayer_SetPlaybackTrackInfoNotificationCallback()

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

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

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

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

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

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

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

◆ criAtomExPlayer_SetPlaybackEventCallback()

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

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

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

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

◆ criAtomExPlayer_SetChannelConfig()

void criAtomExPlayer_SetChannelConfig ( CriAtomExPlayerHn  player,
CriSint32  num_channels,
CriAtomChannelConfig  channel_config 
)

入力音声のチャンネルコンフィグ指定

引数
[in]playerAtomExプレーヤーハンドル
[in]num_channelsチャンネル数
[in]channel_configチャンネルコンフィグ
説明:
入力音声のチャンネルコンフィグを指定します。
本関数実行後に指定したチャンネル数の音声を再生した場合、当該音声の各チャンネルの属性は指定したチャンネルコンフィグに基づいて判断されます。
備考:
デフォルト値は::criAtom_ChangeDefaultChannelConfig 関数にて変更可能です。
本パラメーターは criAtomExPlayer_ResetParameters 関数にてクリアされます。
参照
criAtom_ChangeDefaultChannelConfig, criAtomExPlayer_ResetParameters