AudioEffectPlayer class

AudioEffectPlayer

Inheritance

Constructors

AudioEffectPlayer()
constructor

Properties

$instance → dynamic
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

$createInstance(List args) → dynamic
Factory method for creating instances
override
$destroy() → void
inherited
$init(List args) → void
inherited
findOverrideIndices(List args, List<List<int>> indicesList) List<int>
查找重载参数下标列表 @desc android 构造函数存在重载 此方法通过实际传入参数与构造函数参数列表集合的比对,来获取当前实际的需要使用的参数列表
inherited
fn2AndroidClass(Function callback, dynamic nativeClass(), String methodName) → dynamic
与 ts runtime 中的 fn2AndroidClass 功能一致 将 Dart 函数转换为 Android 回调类实例供 Android 侧使用
inherited
getDuration(int effectId) Future<int?>
@detail api @brief 获取音效文件时长。 @param effectId 音效 ID @return - >0: 成功, 音效文件时长,单位为毫秒。 - < 0: 失败 @note 仅在调用 start{@link #IAudioEffectPlayer#start} 后调用此接口。
inherited
getPosition(int effectId) Future<int?>
@detail api @brief 获取音效文件播放进度。 @param effectId 音效 ID @return - >0: 成功, 音效文件播放进度,单位为毫秒。 - < 0: 失败 @note - 在播放在线文件时,调用此接口可能造成播放延迟的现象。 - 仅在调用 start{@link #IAudioEffectPlayer#start} 后调用此接口。
inherited
getVolume(int effectId) Future<int?>
@detail api @brief 获取当前音量。 @param effectId 音效 ID @return - >0: 成功, 当前音量值。 - < 0: 失败 @note 仅在调用 start{@link #IAudioEffectPlayer#start} 后调用此接口。
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pause(int effectId) Future<int?>
@detail api @brief 暂停播放音效文件。 @param effectId 音效 ID @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 调用 start{@link #IAudioEffectPlayer#start} 方法开始播放音效文件后,可以通过调用本方法暂停播放音效文件。 - 调用本方法暂停播放音效文件后,可调用 resume{@link #IAudioEffectPlayer#resume} 方法恢复播放。
inherited
pauseAll() Future<int?>
@detail api @brief 暂停播放所有音效文件。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 调用 start{@link #IAudioEffectPlayer#start} 方法开始播放音效文件后,可以通过调用本方法暂停播放所有音效文件。 - 调用本方法暂停播放所有音效文件后,可调用 resumeAll{@link #IAudioEffectPlayer#resumeAll} 方法恢复所有播放。
inherited
preload(int effectId, string filePath) Future<int?>
@detail api @brief 预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。 @param effectId 音效 ID。用于标识音效,请保证音效 ID 唯一性。
如果使用相同的 ID 重复调用本方法,后一次会覆盖前一次。
如果先调用 start{@link #IAudioEffectPlayer#start},再使用相同的 ID 调用本方法 ,会收到回调 onAudioEffectPlayerStateChanged{@link #IAudioEffectPlayerEventHandler#onAudioEffectPlayerStateChanged} ,通知前一个音效停止,然后加载下一个音效。
调用本方法预加载 A.mp3 后,如果需要使用相同的 ID 调用 start{@link #IAudioEffectPlayer#start} 播放 B.mp3,请先调用 unload{@link #IAudioEffectPlayer#unload} 卸载 A.mp3 ,否则会报错 AUDIO_MIXING_ERROR_LOAD_CONFLICT。 @param filePath 音效文件路径。支持本地文件的 URI、本地文件的绝对路径或以 /assets/ 开头的本地文件路径。
预加载的文件长度不得超过 20s。
不同平台支持的音效文件格式和 start{@link #IAudioEffectPlayer#start} 一致。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 本方法只是预加载指定音效文件,只有调用 start{@link #IAudioEffectPlayer#start} 方法才开始播放指定音效文件。 - 调用本方法预加载的指定音效文件可以通过 unload{@link #IAudioEffectPlayer#unload} 卸载。
inherited
resume(int effectId) Future<int?>
@detail api @brief 恢复播放音效文件。 @param effectId 音效 ID @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note 调用 pause{@link #IAudioEffectPlayer#pause} 方法暂停播放音效文件后,可以通过调用本方法恢复播放。
inherited
resumeAll() Future<int?>
@detail api @brief 恢复播放所有音效文件。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note 调用 pauseAll{@link #IAudioEffectPlayer#pauseAll} 方法暂停所有正在播放音效文件后,可以通过调用本方法恢复播放。
inherited
setEventHandler(IAudioEffectPlayerEventHandler handler) Future<int?>
@detail api @brief 设置回调句柄。 @param handler 参看 IAudioEffectPlayerEventHandler{@link #IAudioEffectPlayerEventHandler}。 @return - 0: 成功。 - < 0: 失败。
inherited
setPosition(int effectId, int position) Future<int?>
@detail api @brief 设置音效文件的起始播放位置。 @param effectId 音效 ID @param position 音效文件起始播放位置,单位为毫秒。
你可以通过 getDuration{@link #IAudioEffectPlayer#getDuration} 获取音效文件总时长,position 的值应小于音效文件总时长。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 在播放在线文件时,调用此接口可能造成播放延迟的现象。 - 仅在调用 start{@link #IAudioEffectPlayer#start} 后调用此接口。
inherited
setVolume(int effectId, int volume) Future<int?>
@detail api @brief 调节指定音效的音量大小,包括音效文件和 PCM 音频。 @param effectId 音效 ID @param volume 播放音量相对原音量的比值。单位为 %。范围为 [0, 400],建议范围是 [0, 100]。带溢出保护。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note 仅在调用 start{@link #IAudioEffectPlayer#start} 后调用此接口。
inherited
setVolumeAll(int volume) Future<int?>
@detail api @brief 设置所有音效的音量大小,包括音效文件和 PCM 音效。 @param volume 播放音量相对原音量的比值。单位为 %。范围为 [0, 400],建议范围是 [0, 100]。带溢出保护。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note 该接口的优先级低于 setVolume{@link #IAudioEffectPlayer#setVolume},即通过 setVolume{@link #IAudioEffectPlayer#setVolume} 单独设置了音量的音效 ID,不受该接口设置的影响。
inherited
start(int effectId, string filePath, AudioEffectPlayerConfig config) Future<int?>
@detail api @brief 开始播放音效文件。
可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。 @param effectId 音效 ID。用于标识音效,请保证音效 ID 唯一性。
如果使用相同的 ID 重复调用本方法后,上一个音效会停止,下一个音效开始,并收到 onAudioEffectPlayerStateChanged{@link #IAudioEffectPlayerEventHandler#onAudioEffectPlayerStateChanged}。 @param filePath 音效文件路径。
支持在线文件的 URL、本地文件的 URI、本地文件的绝对路径或以 /assets/ 开头的本地文件路径。对于在线文件的 URL,仅支持 https 协议。
推荐的音效文件采样率:8KHz、16KHz、22.05KHz、44.1KHz、48KHz。
不同平台支持的本地音效文件格式:
inherited
stop(int effectId) Future<int?>
@detail api @brief 停止播放音效文件。 @param effectId 音效 ID @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 调用 start{@link #IAudioEffectPlayer#start} 方法开始播放音效文件后,可以调用本方法停止播放音效文件。 - 调用本方法停止播放音效文件后,该音效文件会被自动卸载。
inherited
stopAll() Future<int?>
@detail api @brief 停止播放所有音效文件。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 调用 start{@link #IAudioEffectPlayer#start} 方法开始播放音效文件后,可以调用本方法停止播放所有音效文件。 - 调用本方法停止播放所有音效文件后,该音效文件会被自动卸载。
inherited
toString() String
A string representation of this object.
inherited
transformToPlatformConstructorArgs(List args, List<int> indices, Map<String, dynamic> typeMap, Map<String, dynamic> enumMap, Map<String, dynamic> classMap, String platformVar) List
实例化参数处理 将 pack 过后的 enum / class 转成 android / ios 平台侧的 enum / class
inherited
unload(int effectId) Future<int?>
@detail api @brief 卸载指定音效文件。 @param effectId 音效 ID @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note 仅在调用 start{@link #IAudioEffectPlayer#start} 或 preload{@link #IAudioEffectPlayer#preload} 后调用此接口。
inherited
unloadAll() Future<int?>
@detail api @brief 卸载所有音效文件。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明
inherited
updateInstance(dynamic instance) → void
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited