import { ZegoAudioEffectPlayOptions } from './ZegoExpressEntity.web'; import ZegoLocalStream from './ZegoLocalStream.web'; /** * 音效播放器 * * 详情描述: 当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用音效播放器来实现。 * */ export declare class ZegoAudioEffectPlayer { private _zgp_zegoWebRTC; private _zgp_stream; constructor(_zgp_zegoWebRTC: any, _zgp_stream: MediaStream | ZegoLocalStream); /** * 开始播放音效。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述:开始播放指定音效 ID 上的音效。音效 ID 可以是 [loadAudioEffect] 预加载好的音效或者通过提供参数 [option.path] 指定在线音频资源来加载和播放。 * * Note: 业务场景:当需要播放简短的声音效果,比如鼓掌,欢呼声等时,可以使用该接口实现。 * * Note: 调用时机:在 [createAudioEffectPlayer] 之后可调用。 * * Note: 相关接口:调用停止播放音效接口 [stop] 或者音效播放结束会触发 [onEnd] 回调。 * * Note: 注意事项: * 1. 音效 ID 的音效没有播放结束即触发 [onEnd] 回调前,不能重复播放同一个音效 ID。 * 2. 暂停音效接口 [pause] 不会结束音效播放,不会触发 [onEnd] 回调。 * * @param audioEffectID 音效资源的 ID。 * @param options 音效播放的选项设置。 * @param onStart 音效播放开始的回调方法。 * @param onEnd 音效播放结束的回调方法。 */ start(audioEffectID: string, options?: ZegoAudioEffectPlayOptions, onStart?: Function, onEnd?: Function): void; /** * 结束播放音效。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述:结束播放音效。 * * Note: 调用时机:指定的 [audioEffectID] 已经 [start] 。 * * Note: 相关接口:结束播放音效会触发开始播放音效接口 [start] 的 [onEnd] 回调方法。 * * Note: 注意事项: 无。 * * @param audioEffectID 音效资源的 ID , 不传参则停止所有可停止的音效。 * * @return 接口是否调用成功。 */ stop(audioEffectID?: string): boolean; /** * 暂停播放音效。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述: 暂停播放指定的音效 [audioEffectID]。 * * Note: 调用时机:指定的 [audioEffectID] 已经 [start]。 * * Note: 相关接口:开始播放音效接口 [start] 、恢复播放接口 [resume]。 * * @param audioEffectID 音效资源的 ID,不传参数则暂停所有可暂停的音效。 * * @return 接口是否调用成功。 */ pause(audioEffectID?: string): boolean; /** * 恢复播放音效。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述: 恢复播放指定的音效 [audioEffectID]。 * * Note: 调用时机:指定的 [audioEffectID] 处于 [pause] 状态。 * * Note: 相关接口:开始播放音效接口 [start] 、恢复播放接口 [pause]。 * * @param audioEffectID 音效资源的 ID,不传参数则恢复所有可恢复的音效。 * * @return 接口是否调用成功。 */ resume(audioEffectID?: string): boolean; /** * 设置单个音效的播放音量,会同时设置本地播放音量和推流音量。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述:设置单个音效的播放音量,会同时设置本地播放音量和推流音量。 * * Note: 业务场景:调节播放音效的声音大小。 * * Note: 调用时机:在 [createAudioEffectPlayer] 之后可调用。 * * @param audioEffectID 音效资源的 ID。 * @param volume 音量值,取值范围:范围为 [0,100], 默认值:100。 * * @return 接口是否调用成功。 */ setVolume(audioEffectID: string, volume: number, delay?: number): boolean; /** * 获取指定音效资源的总时长。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述:获取指定音效资源的总长度,单位为毫秒。 * * Note: 调用时机:必须在加载资源完成后才能调用,否则返回值为 0。 * * Note: 相关接口:开始播放音效接口 [start] 、加载音效接口 [loadAudioEffect]。 * * @param audioEffectID 音效资源的 ID。 * * @return 音频总时长,单位为毫秒。 */ getTotalDuration(audioEffectID: string): number; /** * 获取当前播放进度。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述:获取指定音效的当前播放进度。单位为毫秒。 * * Note: 调用时机:音效需要已经通过 [start] 播放,否则返回值为 0。 * * Note: 相关接口:开始播放音效接口 [start] 。 * * @param audioEffectID 音效资源的 ID。 * * @return 音效播放进度,单位为毫秒。 */ getCurrentProgress(audioEffectID: string): number; /** * 设置播放进度。 * * Note: 支持版本:2.15.0 及以上 * * Note: 详情描述:设置指定音效的播放进度,单位为毫秒。 * * Note: 业务场景:加载一个拥有多个音效的音频资源,通过该接口来播放对应位置的音效。 * * Note: 调用时机:指定的 [audioEffectID] 已经 [start],且还没有播完。 * * Note: 相关接口:开始播放音效接口 [start] 。 * * @param audioEffectID 音效资源的 ID。 * @param time 指定的播放进度的时长。取值范围 [0, 音效总时长] 。 * * @return 标识是否调用成功。 */ seekTo(audioEffectID: string, time: number): boolean; }