音乐文件播放
- HarmonyOS
更新时间不可用
adjustAudioMixingPlayoutVolume
调节音乐文件在本地播放的音量。
public abstract adjustAudioMixingPlayoutVolume(volume: number): number;调用时机
你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged(PLAYING) 回调后调用该方法。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
adjustAudioMixingPublishVolume
调节音乐文件远端播放音量。
public abstract adjustAudioMixingPublishVolume(volume: number): number;该方法调节混音音乐文件在远端的播放音量大小。
调用时机
你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged(PLAYING) 回调后调用该方法。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
adjustAudioMixingVolume
调节音乐文件的播放音量。
public abstract adjustAudioMixingVolume(volume: number): number;该方法调节混音音乐文件在本端和远端的播放音量大小。
注: 调用该方法不会影响 playEffect 方法中设置的音效文件播放音量。
调用时机
该方法需要在 startAudioMixing 后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
adjustPlaybackSignalVolume
调节本地播放的所有远端用户信号音量。
public abstract adjustPlaybackSignalVolume(volume: number): number;该方法用于调节所有远端用户混音后在本地播放的信号音量,如果你需要调节指定远端用户在本地播放的信号音量,建议你调用 adjustUserPlaybackSignalVolume。
调用时机
加入频道前后均可调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
getAudioMixingCurrentPosition
获取音乐文件的播放进度。
public abstract getAudioMixingCurrentPosition(): number;详情
该方法获取当前音乐文件播放进度,单位为毫秒。
注意:
- 你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged
(PLAYING)回调后调用该方法。 - 如需多次调用 getAudioMixingCurrentPosition,请确保调用间隔大于 500 ms。
返回值
- ≥ 0: 方法调用成功,返回当前音乐文件播放进度(ms)。0 表示当前音乐文件未开始播放。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
getAudioMixingDuration
获取音乐文件总时长。
public abstract getAudioMixingDuration():number;该方法获取音乐文件总时长,单位为毫秒。
调用时机
该方法需要在 startAudioMixing 之后,并收到 onAudioMixingStateChanged(PLAYING) 回调后调用。
调用限制
无。
返回值
- ≥ 0: 方法调用成功则返回音乐文件时长。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
getAudioMixingPlayoutVolume
获取音乐文件的本地播放音量。
public abstract getAudioMixingPlayoutVolume():number;你可以调用该方法获取混音的音乐文件的本地播放音量,方便排查音量相关问题。
调用时机
该方法需要在 startAudioMixing 之后,并收到 onAudioMixingStateChanged(PLAYING) 回调后调用。
调用限制
无。
返回值
- ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
getAudioMixingPublishVolume
获取音乐文件的远端播放音量。
public abstract getAudioMixingPublishVolume():number;详情
该接口可以方便开发者排查音量相关问题。
注意: 你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged(PLAYING) 回调后调用该方法。
返回值
- ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
pauseAudioMixing
暂停播放音乐文件。
public abstract pauseAudioMixing(): number;当你调用 startAudioMixing 方法播放音乐文件后,如需暂停播放,请调用该方法。如果你需要停止播放,请调用 stopAudioMixing。
调用时机
该方法需要在加入频道后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
resumeAudioMixing
恢复播放音乐文件。
public abstract resumeAudioMixing(): number;当你调用 pauseAudioMixing 暂停播放音乐文件后,如需恢复播放,请调用该方法。
调用时机
该方法需要在加入频道后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
selectMultiAudioTrack
选择本地播放和发送至远端的音轨。
public abstract selectMultiAudioTrack(playoutTrackIndex:number, publishTrackIndex: number): number;详情
你可以调用该方法分别设置本地播放和发送到远端的音轨。
在调用该方法前,你需要通过 openWithMediaSource 来打开媒体文件,并通过 MediaPlayerSource 将 enableMultiAudioTrack 设为 true。
适用场景
在 K 歌场景下,主播可以根据需求选择在本地播放一路音轨(如原声),然后发送另一路音轨至远端(如伴唱)以提升听众体验。
参数
| 参数名 | 描述 |
|---|---|
playoutTrackIndex | 用于本地播放的音轨索引。你可以通过 getStreamInfo 来获取索引值。 |
publishTrackIndex | 用于发送至远端的音轨索引。你可以通过 getStreamInfo 来获取索引值。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
所属接口类
setAudioMixingPlaybackSpeed
设置当前音乐文件的播放速度。
public abstract setAudioMixingPlaybackSpeed(speed: number): number详情
你需要在调用 startAudioMixing 并收到 onAudioMixingStateChanged 回调报告播放状态为 PLAYING 后再调用该方法。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setAudioMixingPosition
设置音乐文件的播放位置。
public abstract setAudioMixingPosition(pos: number): number;该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。
调用时机
该方法需要在 startAudioMixing 之后,并收到 onAudioMixingStateChanged(PLAYING) 回调后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
startAudioMixing
开始播放音乐文件。
public abstract startAudioMixing(filepath: string, loopback: boolean, cycle: number, startpos?:number): number;该方法支持播放以 content:// 开头的 URI 文件。支持的音频格式详见 RTC SDK 支持播放哪些格式的音频文件。如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 CAN_NOT_OPEN。
调用时机
该方法在加入频道前后均可调用。
调用限制
- 使用该方法播放时长较短的音效文件可能会导致播放失败。如需播放音效文件,建议使用 playEffect。
- 如需多次调用该方法,请确保调用间隔大于 500 ms。
相关回调
调用该方法成功播放音乐文件后,本地会触发 onAudioMixingStateChanged(PLAYING) 回调。播放结束后,本地会触发 onAudioMixingStateChanged(STOPPED) 回调。
参数
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败:
-
-1:一般性的错误(未明确归类)。
-
-2:设置了无效的参数。
-
-3:SDK 尚未准备好:
- 请检查是否已开启音频模块。
- 请检查程序集完整性。
- RtcEngine 初始化失败。请重新初始化 RtcEngine。
-
所属接口类
stopAudioMixing
停止播放音乐文件。
public abstract stopAudioMixing(): number;当你调用 startAudioMixing 方法播放音乐文件后,如需停止播放,可调用该方法。如果仅需暂停播放,请调用 pauseAudioMixing。
调用时机
该方法需要在加入频道后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onAudioMixingPositionChanged
音乐文件播放进度回调。
onAudioMixingPositionChanged?:(position:bigint) => void详情
当你调用 startAudioMixing 方法播放音乐文件后,SDK 会每隔一秒触发一次该回调,报告音乐文件当前的播放进度。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onAudioMixingStateChanged
音乐文件的播放状态已改变回调。
onAudioMixingStateChanged?:(state:Constants.AudioMixingState,reason:Constants.AudioMixingReason) => void详情
该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。
参数
| 参数名 | 描述 |
|---|---|
state | 音乐文件播放状态。详见 AudioMixingState。 |
reason | 错误码。详见 AudioMixingReason。 |