媒体资源播放和渲染

  • Unreal Blueprint

更新时间不可用

SelectAudioTrack

指定当前音频文件的播放音轨。

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
int SelectAudioTrack(int index);

详情

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

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

参数

参数名描述
index

音轨的索引值。

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

返回值

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

所属接口类

SetAudioDualMonoMode

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

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetAudioDualMonoMode(EAUDIO_DUAL_MONO_MODE mode);

详情

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

注意:

  • 你需要在调用 Open 后调用该方法。
  • 该方法仅适用于双声道的音频文件。

参数

参数名描述
mode

声道模式。详见 EAUDIO_DUAL_MONO_MODE。

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

返回值

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

所属接口类

SetAudioPitch

调整当前播放的媒体资源的音调。

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetAudioPitch(int pitch);

详情

注: 你需要在调用 Open 后调用该方法。

参数

参数名描述
pitch

按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。

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

返回值

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

所属接口类

SetLoopCount

设置循环播放。

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetLoopCount(int loopCount);

详情

如果你希望循环播放,请调用该方法并设置循环播放次数。

循环播放结束时,SDK 会触发 OnPlayerSourceStateChanged 回调,向你报告播放状态为 PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED。

参数

参数名描述
loopCount

循环播放的次数。

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

返回值

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

所属接口类

SetPlaybackSpeed

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

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetPlaybackSpeed(int speed);

详情

你需要在 Open 后调用该方法。

参数

参数名描述
speed

播放速度。推荐取值范围为 [30,400],其中:

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

返回值

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

所属接口类

SetPlayerOptionWithInt

设置媒体播放器选项。

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetPlayerOptionWithInt(const FString & key, int value);

媒体播放器支持通过 key 和 value 来设置选项。

该方法和 SetPlayerOptionWithString 的区别在于,该方法的 value 是 Int 型,SetPlayerOptionWithString 的 value 是 String 型。二者不可混用。

适用场景

需要提供技术预览或特别定制功能的场景。一般情况下,你无需调用该方法,使用媒体播放器默认的选项设置即可。

调用时机

该方法需要在 Open 或 OpenWithMediaSource 之前调用。

调用限制

无。

参数

参数名描述
key

key 值。

value

value 值。

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

返回值

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

所属接口类

SetPlayerOptionWithString

设置媒体播放器选项。

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetPlayerOptionWithString(const FString & key, const FString & value);

媒体播放器支持通过 key 和 value 来设置选项。

该方法和 SetPlayerOptionWithInt 的区别在于,该方法的 value 是 String 型,SetPlayerOptionWithInt 的 value 是 Int 型。二者不可混用。

适用场景

需要提供技术预览或特别定制功能的场景。一般情况下,你无需调用该方法,使用媒体播放器默认的选项设置即可。

调用时机

该方法需要在 Open 或 OpenWithMediaSource 之前调用。

调用限制

无。

参数

参数名描述
key

key 值。

value

value 值。

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

返回值

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

所属接口类

SetView

设置播放器渲染视图。

C++
UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer")
	int SetView(int64 view);

调用时机

该方法在加入频道前后均可调用。

调用限制

无。

参数

参数名描述
view

渲染视图。Windows 平台为窗口句柄(HWND)。

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

返回值

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

所属接口类