音乐文件播放
adjustAudioMixingPlayoutVolume
adjustAudioMixingPublishVolume
调节音乐文件远端播放音量。
public abstract adjustAudioMixingPublishVolume(volume: number): number;
详情
该方法调节混音音乐文件在远端的播放音量大小。
你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。
参数
- volume
- 音乐文件音量。取值范围为 [0,100],100 (默认值)为原始音量。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
adjustAudioMixingVolume
调节音乐文件的播放音量。
public abstract adjustAudioMixingVolume(volume: number): number;
详情
该方法调节混音音乐文件在本端和远端的播放音量大小。
- 该方法需要在 startAudioMixing 后调用。
- 调用该方法不影响调用 playEffect 播放音效文件的音量。
参数
- volume
- 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
adjustPlaybackSignalVolume
getAudioMixingCurrentPosition
获取音乐文件的播放进度。
public abstract getAudioMixingCurrentPosition(): number;
详情
该方法获取当前音乐文件播放进度,单位为毫秒。
- 你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged
(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。 - 如需多次调用 getAudioMixingCurrentPosition,请确保调用间隔大于 500 ms。
返回值
- ≥ 0: 方法调用成功,返回当前音乐文件播放进度(ms)。0 表示当前音乐文件未开始播放。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
getAudioMixingDuration
获取音乐文件总时长。
public abstract getAudioMixingDuration():number;
详情
该方法获取音乐文件总时长,单位为毫秒。
你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。
返回值
- ≥ 0: 方法调用成功返回音乐文件时长。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
pauseAudioMixing
resumeAudioMixing
setAudioMixingPosition
startAudioMixing
开始播放音乐文件。
public abstract startAudioMixing(filepath: string, loopback: boolean, cycle: number): number;
详情
该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 onAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING)
回调。播放结束后,本地会触发 onAudioMixingStateChanged(AUDIO_MIXING_STATE_STOPPED
) 回调。
该方法支持播放以 content://
开头的 URI 文件。
- 该方法在加入频道前后均可调用。如需多次调用 startAudioMixing,请确保调用间隔大于 500 ms。
- 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告警告码 701。
- 该方法支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件。
参数
- filePath
- 文件路径:
- loopback
- 是否只在本地播放音乐文件:
true
: 只在本地播放音乐文件,只有本地用户能听到音乐。false
: 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
- cycle
- 音乐文件的播放次数。
- ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
- -1: 无限循环播放。
- startPos
- 音乐文件的播放位置,单位为毫秒。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败
- -1: 一般性的错误(未明确归类)。
- -2: 设置了无效的参数。
- -3:SDK 尚未准备好:
- 请检查是否已开启音频模块。
- 请检查程序集完整性。
- RtcEngine 初始化失败。请重新初始化 RtcEngine。
stopAudioMixing
onAudioMixingFinished
本地音乐文件播放已结束回调。
onAudioMixingFinished?:()=>void
详情
当调用 startAudioMixing 播放本地音乐文件结束后,会触发该回调。如果调用 startAudioMixing 失败,会返回错误码 WARN_AUDIO_MIXING_OPEN_ERROR。
onAudioMixingPositionChanged
音乐文件播放进度回调。
onAudioMixingPositionChanged?:(position:bigint) => void
详情
当你调用 startAudioMixing 方法播放音乐文件后,SDK 会每隔一秒触发一次该回调,报告音乐文件当前的播放进度。
参数
- position
- 音乐文件当前的播放进度,单位为 ms。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
onAudioMixingStateChanged
音乐文件的播放状态已改变回调。
onAudioMixingStateChanged?:(state:number,reason:number) => void
详情
该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。
参数
- state
- 音乐文件播放状态。
- AUDIO_MIXING_STATE_PLAYING (710): 音乐文件正常播放。
- AUDIO_MIXING_STATE_PAUSED (711): 音乐文件暂停播放。
- AUDIO_MIXING_STATE_STOPPED (713): 音乐文件停止播放。
- AUDIO_MIXING_STATE_FAILED (714): 音乐文件报错。SDK 会在 reasonCode 参数中返回具体的报错原因。
错误码。- AUDIO_MIXING_REASON_OK(0): 正常。
- AUDIO_MIXING_REASON_CAN_NOT_OPEN (701): 音乐文件打开出错。
- AUDIO_MIXING_REASON_TOO_FREQUENT_CALL (702): 音乐文件打开太频繁。
- AUDIO_MIXING_REASON_INTERRUPTED_EOF (703): 音乐文件播放异常中断。
- AUDIO_MIXING_REASON_ONE_LOOP_COMPLETED(721): 音乐文件完成一次循环播放。
- AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED(723): 音乐文件完成所有循环播放。
- AUDIO_MIXING_REASON_STOPPED_BY_USER(724): 成功调用 stopAudioMixing 暂停播放音乐文件。