媒体资源播放和渲染

  • C++

更新时间不可用

selectAudioTrack [2/2]

选择播放过程中使用的音轨。

C++
virtual int selectAudioTrack(int index) = 0;

获取音频文件的音轨索引后,可以调用该方法指定要播放的音轨。例如,如果一个多音轨文件的不同音轨存储了不同语言的歌曲,可以调用该方法设置播放语言。

注: 你需要在调用 getStreamInfo 获取音频流索引值之后再调用该方法。

参数

参数名描述
index

音轨的索引。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setAudioDualMonoMode

设置当前音频文件的声道模式。

C++
virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0;

在立体声音乐文件中,左声道和右声道可以存储不同的音频数据。你可以根据需要将声道模式设置为原始模式、左声道模式、右声道模式或混合声道模式。例如,在 KTV 场景中,音乐文件的左声道存储伴奏,右声道存储人声。如果你只需要听伴奏,可以调用该方法将声道模式设置为左声道模式;如果你需要同时听到伴奏和人声,可以将声道模式设置为混合声道模式。

注:

  • 调用该方法前需先调用 open 方法。
  • 此方法仅适用于立体声音频文件。

参数

参数名描述
mode

声道模式,详见 AUDIO_DUAL_MONO_MODE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setAudioPitch

设置当前媒体资源的音调。

C++
virtual int setAudioPitch(int pitch) = 0;

注: 请在调用 open 方法后调用此方法。

参数

参数名描述
pitch

按半音阶设置本地音乐文件的音调(默认值为 0,表示保持原始音调)。取值范围为 -12 到 12,相邻两个值之间的音调差为一个半音。该参数的绝对值越大,音调变化越明显。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setLoopCount

设置音效的循环播放次数。

C++
virtual int setLoopCount(int loopCount) = 0;

调用该方法可设置音效的循环播放次数。循环播放完成后,SDK 会触发 onPlayerSourceStateChanged 回调,并报告播放状态为 PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED。

参数

参数名描述
loopCount

音效的循环播放次数:

  • ≥ 0:播放的次数。例如,设置为 0 表示不循环播放,仅播放一次;设置为 1 表示循环播放一次,总共播放两次。
  • -1:无限循环播放音频文件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setPlaybackSpeed

设置当前音频文件的播放速度。

C++
virtual int setPlaybackSpeed(int speed) = 0;

调用该方法前,需要先调用 open 方法。

参数

参数名描述
speed

播放速度。建议设置为 30 到 400 之间的值,定义如下:

  • 30:原始速度的 0.3 倍。
  • 100:原始速度。
  • 400:原始速度的 4 倍。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setPlayerOption [1/2]

设置媒体播放器选项。

C++
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]

设置媒体播放器的参数选项。

C++
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:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setView

设置视图。

C++
virtual int setView(media::base::view_t view) = 0;

调用时机

你可以在加入频道前或加入频道后调用该方法。

参数

参数名描述
view

渲染视图。在 Windows 上,该参数用于设置窗口句柄(HWND)。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类