ZegoAudioEffectPlayer
ZegoAudioEffectPlayer
Declared in ZegoExpressDefines.h
方法
setEventHandler:
setEventHandler:
- (void)setEventHandler:(nullable id<ZegoAudioEffectPlayerEventHandler>) handler;设置音效播放器回调。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| handler | nullable id<ZegoAudioEffectPlayerEventHandler> | 音效播放器回调。 |
详情
设置音效播放器回调。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 相关接口:[createAudioEffectPlayer]。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
start:path:config:
start:path:config:
- (void)start:(unsigned int) audioEffectID path:(nullable NSString *) path config:(ZegoAudioEffectPlayConfig *) config;开始播放音效。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。SDK 内部使用 audioEffectID 进行音效的播放控制,SDK 不强制用户以固定形式的值传入该参数,最好保证每个音效可以有唯一的 ID,推荐的方式有静态自增 ID 和传入音效文件路径的 hash 两种方式。 |
| path | nullable NSString * | 音效资源的路径。<br>取值范围:目前仅支持播放本地文件,不支持 "assets://"、"ipod-library://" 和网络资源等。如果之前使用 [loadResource] 预先加载了音效,可传入 nil 或 ""。 |
| config | ZegoAudioEffectPlayConfig * | 音效播放配置。<br>默认值:传空则仅播放一次,且不会混音入推流中。 |
详情
开始播放音效,默认仅播放一次,且不会将音效混入推流中,如需修改请配置 [config] 参数。
- 业务场景:当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用该接口实现,进一步通过 [config] 参数配置播放次数,将音效混入推流中。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
stop:
stop:
- (void)stop:(unsigned int) audioEffectID;停止播放音效。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
停止播放指定的音效 [audioEffectID]。
- 调用时机:指定的 [audioEffectID] 已经 [start] 。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
pause:
pause:
- (void)pause:(unsigned int) audioEffectID;暂停播放音效。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
暂停播放指定的音效 [audioEffectID]。
- 调用时机:指定的 [audioEffectID] 已经 [start]。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
resume:
resume:
- (void)resume:(unsigned int) audioEffectID;恢复播放音效。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
恢复播放指定的音效 [audioEffectID]。
- 调用时机:指定的 [audioEffectID] 处于 [pause] 状态。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
stopAll
stopAll
- (void)stopAll;停止播放所有音效。
Declared in
ZegoExpressDefines.h停止播放所有音效。
- 调用时机:正在播放音效。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
pauseAll
pauseAll
- (void)pauseAll;暂停播放所有音效。
Declared in
ZegoExpressDefines.h暂停播放所有音效。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
resumeAll
resumeAll
- (void)resumeAll;恢复播放所有音效。
Declared in
ZegoExpressDefines.h恢复播放所有音效。
- 调用时机:在 [pauseAll] 之后可调用。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
seekTo:audioEffectID:callback:
seekTo:audioEffectID:callback:
- (void)seekTo:(unsigned long long) millisecond audioEffectID:(unsigned int) audioEffectID callback:(nullable ZegoAudioEffectPlayerSeekToCallback) callback;设置播放进度。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| millisecond | unsigned long long | 指定的播放进度的时间点。 |
| audioEffectID | unsigned int | 音效资源的 ID。 |
| callback | nullable ZegoAudioEffectPlayerSeekToCallback | 指定播放进度结果。 |
详情
设置指定音效的播放进度,单位为毫秒。
- 调用时机:指定的 [audioEffectID] 已经 [start],且还没有播完。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
setVolume:audioEffectID:
setVolume:audioEffectID:
- (void)setVolume:(int) volume audioEffectID:(unsigned int) audioEffectID;设置单个音效的播放音量,会同时设置本地播放音量和推流音量。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| volume | int | 音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。 |
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
设置指定音效的播放音量,会同时设置本地播放音量和推流音量。
- 调用时机:指定的 [audioEffectID] 已经 [start]。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
setPlayVolume:audioEffectID:
setPlayVolume:audioEffectID:
- (void)setPlayVolume:(int) volume audioEffectID:(unsigned int) audioEffectID;设置单个音效的本地播放音量。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| volume | int | 音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。 |
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
设置指定音效的本地播放音量。
- 调用时机:指定的 [audioEffectID] 已经 [start]。
- 支持版本:3.11.0 及以上。
- 使用限制:无。
setPublishVolume:audioEffectID:
setPublishVolume:audioEffectID:
- (void)setPublishVolume:(int) volume audioEffectID:(unsigned int) audioEffectID;设置单个音效的推流音量。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| volume | int | 音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。 |
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
设置指定音效的推流音量。
- 调用时机:指定的 [audioEffectID] 已经 [start]。
- 支持版本:3.11.0 及以上。
- 使用限制:无。
setVolumeAll:
setVolumeAll:
- (void)setVolumeAll:(int) volume;设置所有音效的播放音量,会同时设置本地播放音量和推流音量。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| volume | int | 音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。 |
详情
设置所有音效的播放音量,会同时设置本地播放音量和推流音量。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
setPlayVolumeAll:
setPlayVolumeAll:
- (void)setPlayVolumeAll:(int) volume;设置所有音效的本地播放音量。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| volume | int | 音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。 |
详情
设置所有音效的本地播放音量。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:3.11.0 及以上。
- 使用限制:无。
setPublishVolumeAll:
setPublishVolumeAll:
- (void)setPublishVolumeAll:(int) volume;设置所有音效的推流音量。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| volume | int | 音量值。<br>取值范围:范围为 0 ~ 200。 <br>默认值:默认为 100。 |
详情
设置所有音效的推流音量。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:3.11.0 及以上。
- 使用限制:无。
setPlaySpeed:audioEffectID:
setPlaySpeed:audioEffectID:
- (void)setPlaySpeed:(float) speed audioEffectID:(unsigned int) audioEffectID;设置指定音效的播放速度,会同时设置本地播放速度和推流速度(不支持单独设置)。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| speed | float | 播放的倍速。<br>取值范围:范围为 0.5 ~ 2.0。 <br>默认值:默认为 1.0。 |
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
设置指定音效的播放速度,会同时设置本地播放速度和推流速度(不支持单独设置)。
- 调用时机:指定的 [audioEffectID] 已经 [start]。
- 支持版本:2.18.0 及以上。
- 使用限制:无。
getTotalDuration:
getTotalDuration:
- (unsigned long long)getTotalDuration:(unsigned int) audioEffectID;获取指定音效资源的总长度。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
获取指定音效资源的总长度,单位为毫秒。
- 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。
- 相关接口:[start],[loadResource]。
- 支持版本:1.16.0 及以上。
- 使用限制:在 [createAudioEffectPlayer] 之后可调用。
返回值
单位为毫秒。
getCurrentProgress:
getCurrentProgress:
- (unsigned long long)getCurrentProgress:(unsigned int) audioEffectID;获取当前播放进度。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
获取指定音效的当前播放进度。单位为毫秒。
- 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。
- 相关接口:[start],[loadResource]。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
loadResource:audioEffectID:callback:
loadResource:audioEffectID:callback:
- (void)loadResource:(NSString *) path audioEffectID:(unsigned int) audioEffectID callback:(nullable ZegoAudioEffectPlayerLoadResourceCallback) callback;加载音效资源。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| path | NSString * | 音效资源路径,不能传入 nil 或 ""。<br>取值范围:目前仅支持播放本地文件,不支持 "assets://"、"ipod-library://" 和网络资源等。 |
| audioEffectID | unsigned int | 音效资源的 ID。 |
| callback | nullable ZegoAudioEffectPlayerLoadResourceCallback | 加载音效资源结果回调。 |
详情
加载音效资源。
- 业务场景:在频繁播放相同音效场景中,SDK 为了优化重复读文件并解码的性能,提供了预加载音效文件到内存中的功能。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:1.16.0 及以上。
- 使用限制:预加载支持最多同时加载 15 个音效文件,并且音效文件时长不能超过 30s,否则加载会报错。
unloadResource:
unloadResource:
- (void)unloadResource:(unsigned int) audioEffectID;卸载音效资源。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
详情
卸载指定音效的音效资源。
- 调用时机:在音效使用完毕之后,可以通过此函数释放相关资源;否则 SDK 将在 AudioEffectPlayer 实例销毁时释放加载的资源。
- 相关接口:[loadResource]。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
updatePosition:position:
updatePosition:position:
- (void)updatePosition:(unsigned int) audioEffectID position:(const float[_Nonnull 3]) position;更新音效播放器(音频源)位置。
Declared in
ZegoExpressDefines.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| audioEffectID | unsigned int | 音效资源的 ID。 |
| position | const float[_Nonnull 3] | 自身在世界坐标系中的坐标,参数是长度为 3 的 float 数组。 |
详情
更新音效播放器(音频源)位置。。
- 业务场景:音效播放器也需要有 3D 空间音效。
- 调用时机:监听[onAudioEffectPlayStateUpdate]回调,请在播放状态为ZegoAudioEffectPlayState.Playing之后ZegoAudioEffectPlayState.NoPlay/PlayEnded之前调用该接口。
- 支持版本:3.6.0 及以上。
- 使用限制:此接口需要与 RangeAudio/RangeScene 模块配合使用,RangeAudio/RangeScene 模块开启 3D 音效后,此接口才能调用成功。
getIndex
getIndex
- (NSNumber *)getIndex;获取音效播放器索引。
Declared in
ZegoExpressDefines.h获取音效播放器索引。
- 调用时机:在 [createAudioEffectPlayer] 之后可调用。
- 支持版本:1.16.0 及以上。
- 使用限制:无。
音效播放器索引。
