URL 拉流播放

  • Android

更新时间不可用

abrSubscriptionLayer

获取当前订阅的视频层级。

Java
public Constants.AbrSubscriptionLayer abrSubscriptionLayer()

该方法仅在打开 RTE URL 时有效。

返回值

方法调用成功,返回 AbrSubscriptionLayer 对象。

所属接口类

addView

添加一个渲染视图。

Java
public void addView(View view, ViewConfig viewConfig) throws RteException

自从

自 v4.4.0 版本新增。

当你需要使用播放器播放视频时,可以调用该方法将视图添加到视频渲染器中,以显示视频内容。

注: 当前仅支持一个视图。

适用场景

当你需要使用播放器播放视频时,可以调用此方法将视图添加到视频渲染器中,以显示视频内容。

调用时机

必须在调用 setCanvas 之前调用该方法。

参数

参数名描述
view

SurfaceView 对象。

viewConfig

视图的相关设置。

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

异常

添加渲染视图失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

audioBitsPerSample

获取每个音频采样点的位数。

Java
public int audioBitsPerSample()

自从

自 v4.5.1 版本新增。

注: audioBitsPerSample 仅在打开非 RTM URL 时有效。

返回值

方法调用成功,返回每个音频采样点的位数,单位为 bit。

所属接口类

audioChannels

获取音频通道数。

Java
public int audioChannels()

返回值

方法调用成功,返回音频通道数。

所属接口类

audioSampleRate

获取音频采样率。

Java
public int audioSampleRate()

自从

自 v4.5.1 版本新增。

返回值

方法调用成功,返回音频采样率,单位为 Hz。

所属接口类

Canvas

构造一个 Canvas 对象。

Java
public Canvas(Rte rte, CanvasInitialConfig config)

自从

自 v4.4.0 版本新增。

参数

参数名描述
rte

用于构造 Canvas 的 Rte 对象,详见 Rte。

config

初始化配置对象。你可以传入 null。

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

所属接口类

code

获取 API 调用失败时返回的错误码。

Java
public Constants.ErrorCode code()

自从

自 v4.4.0 版本新增。

调用时机

你可以在 API 调用失败时调用此方法获取错误码。

返回值

  • 方法调用失败时,返回错误码。详见 ErrorCode。

所属接口类

currentUrl

获取当前正在播放的 URL。

Java
public String currentUrl()

返回值

方法调用成功时,返回当前正在播放的 URL。 方法调用失败,返回空字符串。

所属接口类

destroy

销毁 RTE 对象,释放相关资源。

Java
public synchronized void destroy() throws RteException

自从

自 v4.4.0 版本新增。

异常

销毁失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

duration

获取当前媒体资源的时长。

Java
public long duration()

自从

自 v4.5.1 版本新增。

注: 该方法仅在播放本地媒体文件或输入在线媒体流时有效。

返回值

方法调用成功,返回当前媒体资源的时长,单位为毫秒。

所属接口类

errorCode

获取 RteException 中携带的错误码。

Java
public Constants.ErrorCode errorCode()

返回值

方法调用成功,返回 ErrorCode 对象。

所属接口类

getAbrFallbackLayer

获取已配置的视频流回退选项。

Java
public Constants.AbrFallbackLayer getAbrFallbackLayer() throws RteException

自从

自 v4.4.0 版本新增。

调用时机

你必须在调用 getConfigs 之后调用此方法。

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

方法调用成功,返回已配置的视频流回退选项。详见 AbrFallbackLayer。

所属接口类

getAbrSubscriptionLayer

获取已订阅视频流的质量层级。

Java
public Constants.AbrSubscriptionLayer getAbrSubscriptionLayer() throws RteException

自从

自 v4.4.0 版本新增。

调用时机

你需要在调用 getConfigs 方法之后调用此方法。

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException 异常。你需要捕获并处理该异常。

返回值

方法调用成功,返回当前设置的视频质量层级。详见 AbrSubscriptionLayer。

所属接口类

getAppId

获取已设置的 App ID。

Java
public String getAppId() throws RteException

自从

自 v4.4.0 版本新增。

返回值

方法调用成功时,返回已设置的 App ID。 方法调用失败,返回空字符串。

所属接口类

getAutoPlay

获取媒体播放器的自动播放设置。

Java
public boolean getAutoPlay() throws RteException

自从

自 v4.4.0 版本新增。

调用时机

此方法必须在调用 getConfigs 之后调用。

异常

获取自动播放设置失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

  • true:获取成功。
  • false:获取失败。

所属接口类

getConfigs [3/3]

获取播放器当前的视频渲染配置。

Java
public void getConfigs(CanvasConfig config) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

你必须在调用 Canvas 之后调用此方法。

参数

参数名描述
config

Canvas 对象的设置,详见 CanvasConfig。

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

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException。你需要捕获并处理该异常。

所属接口类

getConfigs [2/3]

获取当前媒体播放器的配置选项。

Java
public void getConfigs(PlayerConfig config) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

该方法必须在调用 Player 之后使用。

参数

参数名描述
config

媒体播放器配置对象,详见 PlayerConfig。

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

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

getConfigs [1/3]

获取 Rte 对象的配置信息。

Java
public void getConfigs(Config config) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

该方法必须在调用 Rte 之后使用。

参数

参数名描述
config

详见 Config。

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

异常

如果方法调用失败,SDK 会抛出 RteException 并返回相应的错误信息。你需要捕获并处理该异常。

所属接口类

getFromBridge

从 RtcEngine 中桥接一个 RTE 对象。

Java
public static synchronized Rte getFromBridge() throws RteException

自从

自 v4.4.0 版本新增。

通过该方法创建的 RTE 对象无需通过 initMediaEngine 进行初始化。如果你尚未创建并初始化 RTC 引擎,可以先调用 RTE 创建一个 RTE 对象,再调用 initMediaEngine 进行初始化。

调用时机

调用此方法前,请确保已调用 create [2/2] 初始化 RTC 引擎。

异常

如果方法调用失败,SDK 会抛出 RteException 并返回相应的错误信息。你需要捕获并处理该异常。

返回值

方法调用成功,返回 RTE 对象。

所属接口类

getInfo

检索与播放器和媒体流相关的信息。

Java
public void getInfo(PlayerInfo info) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

该方法必须在调用 Player 之后使用。

参数

参数名描述
info

与播放器和媒体流相关的信息,详见 PlayerInfo。

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

异常

如果该方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

getJsonParameter

获取当前设置的 JSON 格式的私有参数集。

Java
public String getJsonParameter() throws RteException

自从

自 v4.4.0 版本新增。

异常

调用失败,SDK 会抛出 RteException 异常,你需要捕获异常并进行处理。

返回值

方法调用成功时,返回已设置的 JSON 格式的参数集。 方法调用失败,返回空字符串。

所属接口类

getLoopCount

获取媒体文件的循环播放次数。

Java
public int getLoopCount() throws RteException

自从

自 v4.5.1 版本新增。

异常

获取失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

方法调用成功,返回媒体文件的循环播放次数。

所属接口类

getVideoMirrorMode

获取视频镜像模式。

Java
public Constants.VideoMirrorMode getVideoMirrorMode() throws RteException

自从

自 v4.4.0 版本新增。

异常

获取视频镜像模式失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

方法调用成功,返回视频镜像模式,详见 VideoMirrorMode。

所属接口类

getPlaybackSpeed

获取播放速度参数。

Java
public int getPlaybackSpeed() throws RteException

自从

自 v4.5.1 版本新增。

异常

获取播放速度失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

方法调用成功,返回播放速度的值。

所属接口类

getPlayoutVolume

获取媒体播放器的播放音量。

Java
public int getPlayoutVolume() throws RteException

自从

自 v4.5.1 版本新增。

返回值

方法调用成功,返回媒体播放器的播放音量级别。

所属接口类

getPosition

获取当前的播放位置。

Java
public long getPosition() throws RteException

自从

自 v4.5.1 版本新增。

异常

如果方法调用失败,SDK 会抛出一个 RteException 异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

方法调用成功,返回当前的播放位置,单位为毫秒。

所属接口类

getVideoRenderMode

获取当前设置的视频镜像模式。

Java
public Constants.VideoRenderMode getVideoRenderMode() throws RteException

自从

自 v4.4.0 版本新增。

调用时机

你需要在调用 getConfigs 之后调用此方法。

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

返回值

方法调用成功,返回当前设置的视频镜像模式。详见 VideoMirrorMode。

所属接口类

getStats

获取播放器当前播放媒体资源的统计信息。

Java
public void getStats(PlayerGetStatsCallback callback)

自从

自 v4.4.0 版本新增。

该方法通过回调异步返回播放器的统计信息。

调用时机

该方法必须在调用 openWithUrl 之后调用。

参数

参数名描述
callback

用于异步接收统计信息和错误信息的回调接口。详见 PlayerGetStatsCallback。

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

所属接口类

hasAudio

判断媒体资源是否包含音频流。

Java
public boolean hasAudio()

返回值

  • true:媒体资源中包含音频流。
  • false:媒体资源中不包含音频流。

所属接口类

hasVideo

判断是否包含视频流。

Java
public boolean hasVideo()

返回值

true:URL 源包含视频流。 false:URL 源不包含视频流。

所属接口类

initMediaEngine

初始化 RTE 引擎。

Java
public void initMediaEngine(AsyncCallback callBack) throws RteException

自从

自 v4.4.0 版本新增。

该方法为异步方法,通过回调函数返回初始化结果。你需要在创建 RTE 对象并设置 App ID 后调用该方法。

参数

参数名描述
callBack

异步返回引擎初始化结果的回调。详见 AsyncCallback。

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

异常

初始化失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

isAudioMuted

判断播放器是否停止接收远端音频流。

Java
public boolean isAudioMuted()

自从

自 v4.4.0 版本新增。

返回值

  • true:播放器已停止接收远端音频流。
  • false:播放器仍在接收远端音频流。

所属接口类

isVideoMuted

判断播放器是否停止接收远端视频流。

Java
public boolean isVideoMuted()

自从

自 v4.4.0 版本新增。

注: isVideoMuted 接口仅在打开 RTE URL 时有效。

返回值

  • true:播放器已停止接收远端视频流。
  • false:播放器仍在接收远端视频流。

所属接口类

message

获取详细的错误信息。

Java
public String message()

自从

自 v4.4.0 版本新增。

调用时机

当 API 调用失败时,可以调用该方法获取错误信息,以帮助排查问题。

返回值

  • 方法调用成功时,返回错误信息字符串。
  • 方法调用失败,返回空字符串。

所属接口类

muteAudio

开始或停止接收音频流。

Java
public void muteAudio(boolean mute) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

该方法需要在调用 openWithUrl 方法之后调用。

相关回调

调用该方法成功后,会触发 onPlayerInfoUpdated 回调,上报最新的播放器和媒体拉流信息。

参数

参数名描述
mute

是否接收音频流:

  • true:不接收音频流。
  • false:接收音频流。
表格内容超出当前宽度,可横向滚动查看更多列。

异常

方法调用失败时,SDK 会抛出包含错误信息的 RteException 异常。你需要捕获并处理该异常。

所属接口类

muteVideo

开始或停止接收远端视频流。

Java
public void muteVideo(boolean mute) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

你必须在调用 openWithUrl 之后调用该方法。

相关回调

该方法调用成功后,会触发 onPlayerInfoUpdated 回调,用于上报最新的播放器和媒体流信息。

参数

参数名描述
mute

是否接收远端视频流:

  • true:不接收远端视频流。
  • false:接收远端视频流。
表格内容超出当前宽度,可横向滚动查看更多列。

异常

如果方法调用失败,SDK 会抛出带有相应错误信息的 RteException 异常。你需要捕获并处理该异常。

所属接口类

openWithUrl

打开一个 URL 资源。

Java
public void openWithUrl(String url, long startTime, AsyncCallback callback)

自从

自 v4.4.0 版本新增。

该方法支持通过 URL 打开实时流媒体资源。如果你希望加快打开速度,可以在调用该方法前使用 preloadWithUrl 预加载资源。 如果资源打开失败,你会收到 onStateChanged 回调,播放器状态为 FAILED。此时需要先调用 stop,然后再次调用 openWithUrl 重新打开资源。 如果你关闭了自动播放功能,可以在资源打开后调用 play 开始播放。

注: 该方法目前仅支持以 rte:// 开头的 URL、CDN 推流 URL 和本地媒体文件。

调用时机

该方法必须在 Player 之后调用。

相关回调

调用该方法后会触发 onStateChanged 回调,播放器状态为 OPENING,表示正在打开 URL。成功打开后,播放器状态为 OPEN_COMPLETED。

参数

参数名描述
url

要打开的 URL,可以是 CDN 推流 URL、本地媒体文件,或以 rte:// 为前缀的 URL。

startTime

播放的起始位置,单位为毫秒。

callback

异步通知打开 URL 资源结果的回调。你可以通过该回调的 onResult 方法获取错误信息。

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

所属接口类

pause

暂停播放。

Java
public void pause() throws RteException

自从

自 v4.4.0 版本新增。

调用 play 播放 URL 资源后,如需暂停播放,可以调用该方法。如需停止播放,请调用 stop。

调用时机

该方法必须在调用 play 之后调用。

相关回调

成功调用该方法后,会触发 onStateChanged 回调,报告播放器状态为 PAUSED。

异常

如果该方法调用失败,SDK 会抛出带有相应错误信息的 RteException 异常。你需要捕获并处理该异常。

所属接口类

play

播放一个 URL 资源。

Java
public void play() throws RteException

自从

自 v4.4.0 版本新增。

如果你已关闭自动播放,在使用 openWithUrl 成功打开一个在线媒体流后,可以调用该方法开始播放。

注: 该方法当前仅支持以 rte:// 为前缀的 URL。

调用时机

仅在收到状态为 OPEN_COMPLETED 的 onStateChanged 回调后调用该方法。

相关回调

调用该方法成功后,会触发 onStateChanged 回调以上报播放器状态。

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException 异常。你需要捕获并处理该异常。

所属接口类

Player

构造一个 Player 播放器对象。

Java
public Player(Rte rte, PlayerInitialConfig initialConfig)

自从

自 v4.4.0 版本新增。

调用时机

该方法必须在调用 initMediaEngine 之后调用。

参数

参数名描述
rte

一个 Rte 对象。详见 Rte。

initialConfig

播放器对象的初始化设置。你可以传入 null。

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

所属接口类

preloadWithUrl

预加载 URL 资源。

Java
public static void preloadWithUrl(String url) throws RteException

自从

自 v4.4.0 版本新增。

成功预加载资源可以加快使用 openWithUrl 打开 URL 资源的速度,从而减少等待时间。

注: 该方法目前仅适用于以 rte:// 为前缀的 URL。最多可预加载 20 个 URL,若超过限制,新预加载的 URL 会替换最早的 URL。

适用场景

在打开媒体资源前预加载,可以减少用户等待时间,提供更流畅的视听体验。

调用时机

必须在调用 openWithUrl 之前调用该方法。

参数

参数名描述
url

以 rte:// 为前缀的 URL。各字段的详细信息参见观众端的“输入在线媒体流”。

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

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException。你需要捕获并处理该异常。

所属接口类

registerObserver

注册播放器的观察者对象。

Java
public void registerObserver(PlayerObserver observer) throws RteException

自从

自 v4.4.0 版本新增。

在调用此方法之前,你需要实现一个继承自 PlayerObserver 的接口类。

调用时机

该方法必须在调用 Player 之后执行。

参数

参数名描述
observer

详见 PlayerObserver。

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

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

removeView

移除一个渲染视图。

Java
public void removeView(View view, ViewConfig viewConfig) throws RteException

自从

自 v4.4.0 版本新增。

注: 每次只能移除一个视图。

调用时机

该方法必须在调用 addView 之后调用。

参数

参数名描述
view

要移除的视图对象。

viewConfig

view 对象的设置。

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

返回值

调用失败时,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

Rte

构造一个 Rte 对象。

Java
public Rte(InitialConfig initialConfig)

自从

自 v4.4.0 版本新增。

调用时机

你必须在调用 initMediaEngine 之前调用此方法。

参数

参数名描述
initialConfig

初始化设置。你可以传入 null。

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

所属接口类

seek

跳转到指定的播放位置。

Java
public void seek(long newTime) throws RteException

自从

自 v4.5.1 版本新增。

参数

参数名描述
newTime

要跳转到的播放位置,单位为毫秒。

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

异常

如果方法调用失败,SDK 会抛出一个 RteException 异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setAbrFallbackLayer

设置已订阅远端视频流的回退选项。

Java
public void setAbrFallbackLayer(Constants.AbrFallbackLayer fallbackLayer) throws RteException

自从

自 v4.4.0 版本新增。

在网络状况不佳时,SDK 会将已订阅远端视频流的分辨率降级到指定的视频质量层。每个质量层对应特定的分辨率和码率。网络恢复后,SDK 会将视频流恢复至原始质量层。

注: 如果未开启 ABR 功能,视频流的回退质量层只能设置为 LOW 或 AUDIO_ONLY。

适用场景

一般场景下,可调用该方法并将回退质量层设置为 kRteAbrFallbackLow 或 kRteAbrFallbackAudioOnly。当网络较差时,SDK 会回退为视频小流或仅接收音频流。 如果对回退视频流的分辨率有更高要求,可联系技术支持开启 ABR 功能。开启后,可自定义每一层的分辨率。SDK 会以你指定的最低质量层的分辨率为下限,并根据网络状况在该范围内动态调整分辨率。

调用时机

必须在调用 setConfigs 之前调用该方法。

参数

参数名描述
fallbackLayer

视频流的回退质量层,详见 AbrFallbackLayer。

注: 自定义分辨率时,请确保视频质量层按从高到低的分辨率排序;若分辨率相同,则按帧率从高到低排序。

视频质量层分辨率
LAYER12160p (4K)
LAYER21440p (2K)
LAYER31080p (HD)
LAYER4720p (HD)
LAYER5540p (SD)
LAYER6480p (SD)
表格内容超出当前宽度,可横向滚动查看更多列。
表格内容超出当前宽度,可横向滚动查看更多列。

异常

调用失败时,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setAbrSubscriptionLayer

设置订阅媒体流的视频质量等级。

Java
public void setAbrSubscriptionLayer(Constants.AbrSubscriptionLayer subscriptionLayer) throws RteException

自从

自 v4.4.0 版本新增。

你可以根据实际网络状况,在所订阅的视频流中切换不同的视频质量等级。如果你需要更高级的视频分辨率切换控制,可以联系技术支持开启 ABR(自适应码率)功能。开启后,你可以为每个视频质量等级自定义分辨率,使观众可以根据需要在多质量层级视频流的所有等级之间切换。

注: 如果未开启 ABR 功能,你只能订阅 HIGH 或 LOW 视频质量等级。

适用场景

在网络环境不稳定的场景中,订阅端可根据实际网络状况选择合适的视频质量层级,以保障流畅的观看体验。

调用时机

该方法必须在调用 setConfigs 之前调用。

参数

参数名描述
subscriptionLayer

要订阅的视频质量等级,详见 AbrSubscriptionLayer。在自定义 LAYER1 到 LAYER6 的分辨率时,你可以参考下表,或根据实际需求进行配置: 注意:自定义分辨率时,必须按分辨率从高到低排序各视频质量等级(Layer),若分辨率相同,则按帧率从高到低排序。

视频质量等级分辨率
LAYER12160p (4K)
LAYER21440p (2K)
LAYER31080p (HD)
LAYER4720p (HD)
LAYER5540p (SD)
LAYER6480p (SD)
表格内容超出当前宽度,可横向滚动查看更多列。
表格内容超出当前宽度,可横向滚动查看更多列。

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException 异常。你需要捕获并处理该异常。

所属接口类

setAppId

设置项目的声网 App ID。

Java
public void setAppId(String appId) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

你必须在调用 initMediaEngine 之前调用此方法。

参数

参数名描述
appId

声网 App ID,可从控制台获取。

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

异常

调用失败时,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setAutoPlay

设置是否启用自动播放。

Java
public void setAutoPlay(boolean autoPlay) throws RteException

自从

自 v4.4.0 版本新增。

你可以在调用 openWithUrl 之前调用此方法设置是否启用自动播放。如果未设置,默认启用自动播放。

调用时机

此方法必须在调用 openWithUrl 之前调用。

参数

参数名描述
autoPlay

是否启用自动播放:

  • true:(默认)启用自动播放。
  • false:关闭自动播放。
表格内容超出当前宽度,可横向滚动查看更多列。

异常

设置失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setCanvas

设置用于显示视频的视图窗口。

Java
public void setCanvas(Canvas canvas) throws RteException

自从

自 v4.4.0 版本新增。

该方法用于设置用于显示视频的 Canvas 对象。

调用时机

该方法必须在调用 Player 之后调用。

参数

参数名描述
canvas

用于渲染视频帧的对象,详见 Canvas。

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

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setConfigs [3/3]

设置播放器的视频渲染配置。

Java
public void setConfigs(CanvasConfig config) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

该方法需要在调用 openWithUrl 之前调用。

参数

参数名描述
config

用于设置 Canvas 对象的配置,详见 CanvasConfig。

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

异常

调用失败时,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setConfigs [2/3]

设置播放器配置。

Java
public void setConfigs(PlayerConfig config) throws RteException

自从

自 v4.4.0 版本新增。

你可以调用此方法配置播放器,例如启用自动播放、订阅不同分辨率和码率的视频流。

调用时机

此方法必须在调用 Player 之后调用。

参数

参数名描述
config

播放器配置对象,详见 PlayerConfig。

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

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException。你需要捕获并处理该异常。

所属接口类

setConfigs [1/3]

配置 RTE 对象的信息。

Java
public void setConfigs(Config config) throws RteException

自从

自 v4.4.0 版本新增。

调用时机

该方法必须在调用 Rte 之后调用。

参数

参数名描述
config

用于设置 RTE 对象的配置信息,详见 Config。

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

异常

如果方法调用失败,SDK 会抛出 RteException 并返回相应的错误信息。你需要捕获并处理该异常。

所属接口类

setJsonParameter

通过 JSON 配置 SDK 的技术预览或定制化功能。

Java
public void setJsonParameter(String jsonParameter) throws RteException

自从

自 v4.4.0 版本新增。

适用场景

当你需要设置私有参数或使用定制化功能时,可以调用此方法。

调用时机

此方法必须在调用 setConfigs 之前调用。

参数

参数名描述
jsonParameter

JSON 字符串格式的参数。

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

异常

如果方法调用失败,SDK 会抛出包含相应错误信息的 RteException。你需要捕获并处理该异常。

所属接口类

setLoopCount

设置媒体文件在播放期间循环播放的次数。

Java
public void setLoopCount(int count) throws RteException

自从

自 v4.5.1 版本新增。

参数

参数名描述
count

媒体文件循环播放的次数:

  • 1:播放一次。
  • 2:播放两次。
  • -1:无限循环播放,直到调用 stop 停止播放。
表格内容超出当前宽度,可横向滚动查看更多列。

异常

设置失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setVideoMirrorMode

设置视频镜像模式。

Java
public void setVideoMirrorMode(Constants.VideoMirrorMode mode) throws RteException

自从

自 v4.4.0 版本新增。

你必须在调用 setConfigs 方法之前调用此方法。

调用时机

你必须在调用 setConfigs 之前调用此方法。

参数

参数名描述
mode

镜像模式,详见 VideoMirrorMode。默认值为 AUTO,由 SDK 自动决定镜像模式。

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

异常

方法调用失败时,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setPlaybackSpeed

设置播放速度参数。

Java
public void setPlaybackSpeed(int speed) throws RteException

自从

自 v4.5.1 版本新增。

你可以在调用 openWithUrl 后调用该方法。

参数

参数名描述
speed

播放速度。有效范围为 [50, 400]。

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

异常

设置播放速度失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setPlayoutVolume

设置播放音量参数。

Java
public void setPlayoutVolume(int volume) throws RteException

自从

自 v4.5.1 版本新增。

参数

参数名描述
volume

播放器的音量值。有效范围为 [0, 400]。

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

异常

设置播放音量失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

setVideoRenderMode

设置视频渲染模式。

Java
public void setVideoRenderMode(Constants.VideoRenderMode mode) throws RteException

自从

自 v4.4.0 版本新增。

参数

参数名描述
mode

要设置的视频渲染模式,详见 VideoRenderMode。

注: 默认值为 VideoRenderMode.HIDDEN。

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

异常

RteException:RteException.errorCode() 可能返回以下错误码:

  • ErrorCode.INVALID_ARGUMENT:mode 参数设置为非法值。

所属接口类

state

获取当前播放器状态。

Java
public int state()

返回值

方法调用成功,返回当前播放器的状态。

所属接口类

stop

停止播放媒体资源。

Java
public void stop() throws RteException

自从

自 v4.4.0 版本新增。

如果使用 openWithUrl 打开 URL 流失败,你需要先调用该方法,然后再调用 openWithUrl 重新打开 URL。

调用时机

该方法必须在调用 openWithUrl 之后调用。

相关回调

调用成功后,该方法会触发 onStateChanged 回调,并上报播放器状态为 STOPPED。

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

streamCount

获取当前播放源中的流的数量。

Java
public int streamCount()

该方法仅在打开非 RTE URL 时有效。

返回值

方法调用成功,返回流的数量。

所属接口类

switchWithUrl

在播放过程中切换到新的 URL。

Java
public void switchWithUrl(String url, boolean syncPts, AsyncCallback callback)

自从

自 v4.5.1 版本新增。

当 SDK 返回播放器状态为 OPEN_COMPLETED 时,必须调用该方法。

注: 该方法仅在播放器打开非 RTE URL 时有效。

参数

参数名描述
url

要切换的 URL 资源。

syncPts
  • true:同步播放位置。
  • false:(默认)不同步播放位置。
callback

异步通知切换操作结果的回调。你可以通过该回调的 err 参数得知操作的结果或错误码信息,详见 AsyncCallback。

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

所属接口类

unregisterObserver

取消注册媒体播放器事件观察者对象。

Java
public void unregisterObserver(PlayerObserver observer) throws RteException

自从

自 v4.4.0 版本新增。

调用 registerObserver 注册媒体播放器事件观察者对象后,如需取消注册,请调用该方法。

调用时机

该方法必须在调用 registerObserver 之后调用。

参数

参数名描述
observer

详见 PlayerObserver。

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

异常

如果方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。

所属接口类

videoHeight

获取视频分辨率的高度。

Java
public int videoHeight()

自从

自 v4.5.1 版本新增。

返回值

方法调用成功,返回视频分辨率的高度,单位为像素。

所属接口类

videoWidth

获取视频分辨率的宽度。

Java
public int videoWidth()

自从

自 v4.5.1 版本新增。

返回值

方法调用成功,返回视频分辨率的宽度,单位为像素。

所属接口类

onAudioVolumeIndication

播放器音量变化回调。

Java
public void onAudioVolumeIndication(int volume)

自从

自 v4.4.0 版本新增。

触发时机

该回调在播放器音量发生变化时被触发。

参数

参数名描述
volume

播放器当前的音量,取值范围为 [0, 225]。

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

所属接口类

onEvent

播放器事件回调。

Java
public void onEvent(int event)

自从

自 v4.4.0 版本新增。

如果你需要监听播放器事件,必须先调用 registerObserver 注册播放器观察者对象。

触发时机

该回调在播放器事件发生变化时被触发。

参数

参数名描述
event

播放器事件。

注: 详见 PlayerEvent。

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

所属接口类

onMetadata [2/2]

接收媒体流附加信息的回调。

Java
public void onMetadata(int type, byte[] data)

自从

自 v4.4.0 版本新增。

调用 registerObserver 注册播放器观察者对象后,才能接收媒体流中的附加信息。

触发时机

该回调在 SDK 解析播放器正在播放的媒体流中的附加信息后触发,报告数据类型及其具体内容。

参数

参数名描述
type

附加信息的类型:

  • 0:SEI(Supplemental Enhancement Information)类型。
data

解析后的附加信息。

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

所属接口类

onPlayerInfoUpdated [2/2]

播放器和媒体流信息发生变化回调。

Java
public void onPlayerInfoUpdated(PlayerInfo info)

自从

自 v4.4.0 版本新增。

你可以调用 registerObserver 注册播放器观察者对象来获取播放器和媒体流的信息,也可以直接调用 getInfo 方法获取信息。

触发时机

该回调在播放器和媒体流信息发生变化时被触发。

参数

参数名描述
info

播放器及媒体流的相关信息,详见 PlayerInfo。

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

所属接口类

onPositionChanged

播放进度变化回调。

Java
public void onPositionChanged(long curr_time, long utc_time)

自从

自 v4.4.0 版本新增。

触发时机

该回调在媒体资源播放过程中每秒触发一次。

参数

参数名描述
curr_time

当前播放进度,单位为毫秒。

utc_time

当前 NTP(网络时间协议)时间,单位为毫秒。

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

所属接口类

onResolutionChanged

视频分辨率变化的回调。

Java
public void onResolutionChanged(int width, int height)

自从

自 v4.4.0 版本新增。

你必须先调用 registerObserver 注册一个播放器观察者对象,才能监听视频流分辨率的变化。

触发时机

该回调在视频流的分辨率发生变化时被触发,报告当前视频的宽度和高度。

参数

参数名描述
width

视频帧的宽度,单位为 px。

height

视频帧的高度,单位为 px。

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

所属接口类

onResult

onResult 回调,用于报告异步操作的结果。

Java
@CalledByNative void onResult(Error error);

自从

自 v4.4.0 版本新增。

触发时机

该回调在异步操作完成时被触发,用于报告操作结果。

参数

参数名描述
error

状态码或错误码。详见 Error。

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

所属接口类

onResult

异步获取媒体资源统计信息操作完成时触发的回调。

Java
@CalledByNative void onResult(PlayerStats playerStats, Error error);

触发时机

该回调在异步获取媒体资源信息的操作完成时被触发。

参数

参数名描述
playerStats

媒体资源的统计信息。详见 PlayerStats。

error

状态和错误信息。详见 Error。

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

所属接口类

onStateChanged

播放器状态变化的回调。

Java
public void onStateChanged(int old_state, int new_state, Error error)

自从

自 v4.4.0 版本新增。

如果你需要监听播放器状态的变化,必须先调用 registerObserver 注册播放器观察者对象。

触发时机

该回调在播放器状态发生变化时被触发。

参数

参数名描述
old_state

变更前的播放器状态。详见 PlayerState。

new_state

当前的播放器状态。详见 PlayerState。如果当前状态为 FAILED,你可以通过 error 参数获取详细的错误信息。

error

状态或错误信息。详见 Error。

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

所属接口类