媒体资源播放和渲染
selectAudioTrack [2/2]
选择播放过程中使用的音轨。
virtual int selectAudioTrack(int index) = 0;
获取音频文件的音轨索引后,可以调用该方法指定要播放的音轨。例如,如果一个多音轨文件的不同音轨存储了不同语言的歌曲,可以调用该方法设置播放语言。
参数
- index
- 音轨的索引。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setAudioDualMonoMode
设置当前音频文件的声道模式。
virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0;
在立体声音乐文件中,左声道和右声道可以存储不同的音频数据。你可以根据需要将声道模式设置为原始模式、左声道模式、右声道模式或混合声道模式。例如,在 KTV 场景中,音乐文件的左声道存储伴奏,右声道存储人声。如果你只需要听伴奏,可以调用该方法将声道模式设置为左声道模式;如果你需要同时听到伴奏和人声,可以将声道模式设置为混合声道模式。
- 调用该方法前需先调用 open 方法。
- 此方法仅适用于立体声音频文件。
参数
- mode
- 声道模式,详见 AUDIO_DUAL_MONO_MODE。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setAudioPitch
setLoopCount
设置音效的循环播放次数。
virtual int setLoopCount(int loopCount) = 0;
调用该方法可设置音效的循环播放次数。循环播放完成后,SDK 会触发 onPlayerSourceStateChanged 回调,并报告播放状态为 PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED。
参数
- loopCount
- 音效的循环播放次数:
- ≥ 0:播放的次数。例如,设置为 0 表示不循环播放,仅播放一次;设置为 1 表示循环播放一次,总共播放两次。
- -1:无限循环播放音频文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setPlaybackSpeed
setPlayerOption [1/2]
设置媒体播放器选项。
virtual int setPlayerOption(const char* key, int value) = 0;
该方法用于通过 key 和 value 设置媒体播放器的选项。与 setPlayerOption(const char* key, const char* value) 不同,此方法的 value 参数类型为 int,而后者为 const char*。这两个方法不能同时使用。一般情况下无需调用此方法,可直接使用媒体播放器提供的默认选项。
适用场景
适用于需要技术预览或特殊定制功能的场景。
调用时机
请在调用 open 或 openWithMediaSource 方法之前调用此方法。
参数
- key
- 选项的键。
- value
- 选项的值。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setPlayerOption [2/2]
设置媒体播放器的参数选项。
virtual int setPlayerOption(const char* key, const char* value) = 0;
该方法用于通过 key 和 value 设置媒体播放器的参数选项。与 setPlayerOption(const char* key, int value) 不同,本方法的 value 参数类型为字符串,而后者为整数类型。这两个方法不能同时使用。一般情况下无需调用该方法,直接使用媒体播放器提供的默认参数即可。
适用场景
适用于需要技术预览或特殊定制功能的场景。
调用时机
请在调用 open 或 openWithMediaSource 方法之前调用本方法。
参数
- key
- 参数选项的键。
- value
- 参数选项的值。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。