音乐文件播放
- C#
更新时间不可用
AdjustAudioMixingPlayoutVolume
调节音乐文件在本地播放的音量。
public abstract int AdjustAudioMixingPlayoutVolume(int volume);调用时机
你需要在调用 StartAudioMixing [2/2] 并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用该方法。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
AdjustAudioMixingPublishVolume
调节音乐文件远端播放音量。
public abstract int AdjustAudioMixingPublishVolume(int volume);该方法调节混音音乐文件在远端的播放音量大小。
调用时机
你需要在调用 并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用该方法。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
AdjustAudioMixingVolume
调节音乐文件的播放音量。
public abstract int AdjustAudioMixingVolume(int volume);该方法调节混音音乐文件在本端和远端的播放音量大小。
注: 调用该方法不会影响 PlayEffect 方法中设置的音效文件播放音量。
调用时机
该方法需要在 StartAudioMixing [2/2] 后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
AdjustPlaybackSignalVolume
调节本地播放的所有远端用户信号音量。
public abstract int AdjustPlaybackSignalVolume(int volume);该方法用于调节所有远端用户混音后在本地播放的信号音量,如果你需要调节指定远端用户在本地播放的信号音量,建议你调用 AdjustUserPlaybackSignalVolume。
调用时机
加入频道前后均可调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetAudioMixingCurrentPosition
获取音乐文件的播放进度。
public abstract int GetAudioMixingCurrentPosition();详情
该方法获取当前音乐文件播放进度,单位为毫秒。
注意:
- 你需要在调用 并收到 OnAudioMixingStateChanged
(AUDIO_MIXING_STATE_PLAYING)回调后调用该方法。 - 如需多次调用 GetAudioMixingCurrentPosition,请确保调用间隔大于 500 ms。
返回值
- ≥ 0: 方法调用成功,返回当前音乐文件播放进度(ms)。0 表示当前音乐文件未开始播放。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetAudioMixingDuration
获取音乐文件总时长。
public abstract int GetAudioMixingDuration();该方法获取音乐文件总时长,单位为毫秒。
调用时机
该方法需要在 StartAudioMixing [2/2] 之后,并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用。
调用限制
无。
返回值
- ≥ 0: 方法调用成功则返回音乐文件时长。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetAudioMixingPlayoutVolume
获取音乐文件的本地播放音量。
public abstract int GetAudioMixingPlayoutVolume();你可以调用该方法获取混音的音乐文件的本地播放音量,方便排查音量相关问题。
调用时机
该方法需要在 StartAudioMixing [2/2] 之后,并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用。
调用限制
无。
返回值
- ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetAudioMixingPublishVolume
获取音乐文件的远端播放音量。
public abstract int GetAudioMixingPublishVolume();详情
该接口可以方便开发者排查音量相关问题。
注意: 你需要在调用 StartAudioMixing [2/2] 并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用该方法。
返回值
- ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
GetAudioTrackCount
获取当前音乐文件的音轨索引。
public abstract int GetAudioTrackCount();详情
注:
- 你需要在调用 StartAudioMixing [2/2] 并收到OnAudioMixingStateChanged
(AUDIO_MIXING_STATE_PLAYING)回调后调用该方法。
返回值
- 方法调用成功时,返回当前音乐文件的音轨索引。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
PauseAudioMixing
暂停播放音乐文件。
public abstract int PauseAudioMixing();当你调用 StartAudioMixing [2/2] 方法播放音乐文件后,如需暂停播放,请调用该方法。如果你需要停止播放,请调用 StopAudioMixing。
调用时机
该方法需要在加入频道后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
ResumeAudioMixing
恢复播放音乐文件。
public abstract int ResumeAudioMixing();当你调用 PauseAudioMixing 暂停播放音乐文件后,如需恢复播放,请调用该方法。
调用时机
该方法需要在加入频道后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SelectAudioTrack [1/2]
指定当前音乐文件的播放音轨。
public abstract int SelectAudioTrack(int index);详情
获取音乐文件的音轨数量后,你可以调用该方法指定任一音轨进行播放。例如,如果一个多音轨文件的不同音轨存放了不同语言的歌曲,则你可以调用该方法设置音乐文件的播放语言。
注:
- 该方法支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件?。
- 你需要在调用 StartAudioMixing [2/2] 并收到 OnAudioMixingStateChanged
(AUDIO_MIXING_STATE_PLAYING)回调后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
index | 指定的播放音轨。取值范围应大于等于 0 且小于 GetAudioTrackCount 的返回值。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetAudioMixingDualMonoMode
设置当前音频文件的声道模式。
public abstract int SetAudioMixingDualMonoMode(AUDIO_MIXING_DUAL_MONO_MODE mode);在双声道音频文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、左声道模式、右声道模式或混合模式。
适用场景
在 KTV 场景中,音频文件的左声道存储了伴奏,右声道存储了原唱的歌声。你可以根据实际需求进行设置:
- 如果你只需听伴奏,则用该方法设置音频文件的声道模式为左声道模式。
- 如果你需要同时听伴奏和原唱,则调用该方法设置声道模式为混合模式。
调用时机
该方法需要在 StartAudioMixing [2/2] 之后,并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用。
调用限制
该方法仅适用于双声道的音频文件。
参数
| 参数名 | 描述 |
|---|---|
mode | 声道模式。详见 AUDIO_MIXING_DUAL_MONO_MODE。 |
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetAudioMixingPitch
调整本地播放的音乐文件的音调。
public abstract int SetAudioMixingPitch(int pitch);本地人声和播放的音乐文件混音时,调用该方法可以仅调节音乐文件的音调。
调用时机
你需要在调用 StartAudioMixing [2/2] 并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用该方法。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
SetAudioMixingPosition
设置音乐文件的播放位置。
public abstract int SetAudioMixingPosition(int pos);该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。
调用时机
该方法需要在 StartAudioMixing [2/2] 之后,并收到 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调后调用。
调用限制
无。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
StartAudioMixing [1/2]
开始播放音乐文件。
public abstract int StartAudioMixing(string filePath, bool loopback, int cycle);该方法支持播放的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件。如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 AUDIO_MIXING_REASON_CAN_NOT_OPEN。
调用时机
该方法在加入频道前后均可调用。
调用限制
- 使用该方法播放时长较短的音效文件可能会导致播放失败。如需播放音效文件,建议使用 PlayEffect。
- 如需多次调用该方法,请确保调用间隔大于 500 ms。
相关回调
调用该方法成功播放音乐文件后,本地会触发 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调。播放结束后,本地会触发 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_STOPPED) 回调。
参数
| 参数名 | 描述 |
|---|---|
filePath | 播放文件的地址,支持在线文件的 URL 地址、播放文件的绝对路径,需精确到文件名及后缀。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP 等。 注意: 如果你已通过 PreloadEffect 将音效加载至内存,请确保该参数与 PreloadEffect 中设置的 filePath 相同。 |
loopback | |
cycle |
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败:
-
-1:一般性的错误(未明确归类)。
-
-2:设置了无效的参数。
-
-3:SDK 尚未准备好:
- 请检查是否已开启音频模块。
- 请检查程序集完整性。
- IRtcEngine 初始化失败。请重新初始化 IRtcEngine。
-
StartAudioMixing [2/2]
开始播放音乐文件。
public abstract int StartAudioMixing(string filePath, bool loopback, int cycle, int startPos);该方法支持播放的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件。如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 AUDIO_MIXING_REASON_CAN_NOT_OPEN。
调用时机
该方法在加入频道前后均可调用。
调用限制
- 使用该方法播放时长较短的音效文件可能会导致播放失败。如需播放音效文件,建议使用 PlayEffect。
- 如需多次调用该方法,请确保调用间隔大于 500 ms。
相关回调
调用该方法成功播放音乐文件后,本地会触发 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_PLAYING) 回调。播放结束后,本地会触发 OnAudioMixingStateChanged(AUDIO_MIXING_STATE_STOPPED) 回调。
参数
返回值
-
0: 方法调用成功。
-
< 0: 方法调用失败:
-
-1:一般性的错误(未明确归类)。
-
-2:设置了无效的参数。
-
-3:SDK 尚未准备好:
- 请检查是否已开启音频模块。
- 请检查程序集完整性。
- IRtcEngine 初始化失败。请重新初始化 IRtcEngine。
-
所属接口类
StopAudioMixing
停止播放音乐文件。
public abstract int StopAudioMixing();当你调用 StartAudioMixing [2/2] 方法播放音乐文件后,如需停止播放,可调用该方法。如果仅需暂停播放,请调用 PauseAudioMixing。
调用时机
该方法需要在加入频道后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
OnAudioMixingFinished
本地音乐文件播放已结束回调。
public virtual void OnAudioMixingFinished()详情
弃用:
当调用 StartAudioMixing [2/2] 播放本地音乐文件结束后,会触发该回调。如果调用 StartAudioMixing [2/2] 失败,会返回错误码 WARN_AUDIO_MIXING_OPEN_ERROR。
所属接口类
OnAudioMixingPositionChanged
音乐文件播放进度回调。
public virtual void OnAudioMixingPositionChanged(long position) { }详情
当你调用 StartAudioMixing [2/2] 方法播放音乐文件后,SDK 会每隔一秒触发一次该回调,报告音乐文件当前的播放进度。
参数
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
所属接口类
OnAudioMixingStateChanged
音乐文件的播放状态已改变回调。
public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {}详情
该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。
参数
| 参数名 | 描述 |
|---|---|
state | 音乐文件播放状态。详见 AUDIO_MIXING_STATE_TYPE。 |
reason | 错误码。详见 AUDIO_MIXING_REASON_TYPE。 |