CRI ADX  Last Updated: 2024-07-17 10:48 p
基本播放控制

Player句柄

应用程序为Player句柄指定音频文件名和Cue,按照以下步骤播放。
(1) 创建Player句柄(CriAtomExPlayerHn)
(2) 设置Cue和音频文件名
(3) 指示开始播放

/* 创建Player */
player = criAtomExPlayer_Create(NULL, NULL, 0);
/* 指定Cue ID */
criAtomExPlayer_SetCueId(player, acb_hn, CRI_ATOMCUESHEET_BOMB2);
/* 开始播放 */
CriAtomExPlaybackId criAtomExPlayer_Start(CriAtomExPlayerHn player)
Start the playback
CriAtomExPlayerHn criAtomExPlayer_Create(const CriAtomExPlayerConfig *config, void *work, CriSint32 work_size)
Create an AtomEx player
void criAtomExPlayer_SetCueId(CriAtomExPlayerHn player, CriAtomExAcbHn acb_hn, CriAtomExCueId id)
Set the sound data to play (specifying a Cue ID)


指示开始播放时,Player句柄将从Voice池获取Voice,然后开始播放声音。
播放结束后,Voice自动释放并返回Voice池。
Player句柄的状态在这一过程中会进行如下转换。
  1. 执行::criAtomExPlayer_Start 函数时,转换为播放准备状态(PREP)。
  2. 读取播放所需音频数据时,转换为播放状态(PLAYING)。
  3. 音频数据播放完成时,转换为播放结束状态(PLAYEND)。
此外,还可以使用一个Player句柄同时播放多个声音。


[备注]
除上述之外,Player的状态还有可能转换为错误状态(ERROR)。
状态转换的详细信息请参照“关于CriAtomExPlayer ”。

序列播放

从Player句柄获得的播放时间,是根据第一个播放指示而播放的声音的播放时间而定。
如果设置并播放“序列 ”所设计的Cue,则Player句柄的Sequencer将沿时间轴在设置的时间顺序播放声音。
通过Sequencer播放时,一旦达到应播放时间则获取Voice并开始播放,各Voice播放结束时自动释放Voice。
可以为Sequencer设置播放节奏,缓慢或快速播放。
通过Cue播放的声音可以轻松地实现暂停和恢复功能。

/* 暂停播放 */
void criAtomExPlayer_Pause(CriAtomExPlayerHn player, CriBool sw)
Pause/resume

从任意位置播放

支持从任意位置播放(“搜索播放 ”)。
可以以毫秒单位指定播放开始位置。

此外,可以通过AISAC的PlayGate功能执行播放控制,详细信息请参照“ AISAC 交互声音功能“AISAC” ”。

[备注]
当前版本不支持设置播放节奏和PlayGate。