更新时间:2023-10-26 GMT+08:00
分享

播放音乐文件

功能描述

混音是将音乐文件和麦克风音频混合,一般用于播放时长较长的背景音乐或者伴奏。同一时间只能播放一个音乐文件。可以在本地播放,也可以同时播放给其他与会者听。

可以播放本地或在线音乐文件,文件格式支持播放wav、pcm和单声道mp3音频格式。

接口调用流程

实现播放音乐文件

  1. 加入房间

    参考接口调用流程中加入房间的时序图步骤加入房间。

  2. 播放音乐文件

    调用startAudioFile播放音乐文件,目前仅支持本端播放。

    返回值为0,则说明调用成功,不为0则表示失败。

    public void startAudio() {
        int ret = mHwRtcEngine.startAudioFile(audioFilePaths[currentFilePos], publish, cycle, replace);
        if (ret == 0) {
            // 成功
        } else {
            // 失败
        }
    }
  3. 设置音乐文件音量

    调用adjustAudioFileVolume调整播放音量。

    其中,progress取值范围为0 ~ 100。

    public void setAudioVolume() {
        mHwRtcEngine.adjustAudioFileVolume(progress);
    }
  4. 获取音乐文件总时长

    播放过程中,调用getAudioFileDuration获取音乐文件总时长,可用于刷新界面上的进度条。

    public void refreshSeekBar() {
        int duration = mHwRtcEngine.getAudioFileDuration();
    	// 刷新进度条
    }
  5. 获取音乐文件播放位置

    播放过程中,调用getAudioFilePosition获取音乐文件当前播放位置,可用于刷新界面上的进度条。

    public void refreshSeekBar() {
        int pos = mHwRtcEngine.getAudioFilePosition();
    	// 刷新进度条
    }
  6. 设置音乐文件播放位置

    播放过程中,调用setAudioFilePosition设置音乐文件播放位置,可用于跳转至对应播放位置。

    public void seekTo() {
        mHwRtcEngine.setAudioFilePosition(pos);
    }
  7. 暂停播放音乐文件

    播放过程中,调用pauseAudioFile暂停播放当前音乐文件。

    public void pauseAudio() {
        mHwRtcEngine.pauseAudioFile();
    }
  8. 恢复播放暂停的音乐文件

    暂停时,调用resumeAudioFile恢复播放当前音乐文件。

    public void resumeAudio() {
        mHwRtcEngine.resumeAudioFile();
    }
  9. 停止播放音乐文件

    播放过程中,调用stopAudioFile停止播放当前音乐文件。

    public void stopAudio() {
        mHwRtcEngine.stopAudioFile();
    }
  10. 音乐文件播放结束回调

    播放结束后,SDK会触发onAudioMixStateChangedNotify回调来通知上层应用。

    @Override
    public void onAudioMixStateChangedNotify(HRTCEnums.HRTCAudioFileState state, HRTCEnums.HRTCAudioFileReason reason, long value) {
        // 判断state,如果是HRTC_AUDIO_FILE_STOPPED,则表示收到音乐文件播放结束通知,可以刷新界面,比如恢复播放前初始界面状态。
    }
分享:

    相关文档

    相关产品