URL 拉流播放
- macOS
更新时间不可用
addView:config:error:
添加一个渲染视图。
- (BOOL)addView:(AgoraRteView * _Nonnull)view config:(AgoraRteViewConfig* _Nullable)config error:(AgoraRteError* _Nullable)error;自从
自 v4.4.0 版本新增。
你可以调用该方法将视图添加到视频渲染器中,以显示视频内容。
注: 当前仅支持一个视图。
适用场景
当你需要使用播放器播放视频时,可以调用此方法将视图添加到视频渲染器中,以显示视频内容。
调用时机
你必须在调用 setCanvas:error: 之前调用此方法。
参数
| 参数名 | 描述 |
|---|---|
view | |
config | |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:添加视图成功。
- NO:添加视图失败。
所属接口类
initWithRte:initialConfig:
构造一个 AgoraRteCanvas 对象。
- (instancetype _Nonnull)initWithRte:(AgoraRte* _Nonnull)rte initialConfig:(AgoraRteCanvasInitialConfig * _Nullable)config;自从
自 v4.4.0 版本新增。
参数
| 参数名 | 描述 |
|---|---|
rte | 用于构造 AgoraRteCanvas 的 AgoraRte 对象。详见 AgoraRte。 |
config |
所属接口类
code
获取 API 调用返回的错误码。
- (AgoraRteErrorCode)code;自从
自 v4.4.0 版本新增。
当 API 调用失败时,你可以调用该方法获取错误码。
调用时机
当 API 调用失败时,你可以调用该方法获取错误码。
返回值
方法调用成功时,返回错误码,详见 AgoraRteErrorCode。
所属接口类
destroy:
销毁 RTE 对象。
- (BOOL)destroy:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
该方法会释放 RTE 对象使用的所有资源。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:销毁成功。
- NO:销毁失败。
所属接口类
abrFallbackLayer:
获取已配置的视频流分层回退选项。
- (AgoraRteAbrFallbackLayer)abrFallbackLayer:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 getConfigs:error: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
已配置的视频流分层回退选项,详见 AgoraRteAbrFallbackLayer。
所属接口类
abrSubscriptionLayer:
获取订阅端视频流的质量层级。
- (AgoraRteAbrSubscriptionLayer)abrSubscriptionLayer:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 getConfigs:error: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
当前设置的视频质量层级,详见 AgoraRteAbrSubscriptionLayer。
所属接口类
appId:
获取你已设置的声网 App ID。
- (NSString* _Nullable)appId:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
参数
| 参数名 | 描述 |
|---|---|
error |
返回值
- 方法调用成功时,返回你已设置的声网 App ID。
- 方法调用失败时,返回空字符串。
所属接口类
autoPlay:
获取媒体播放器的自动播放设置。
- (BOOL)autoPlay:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以调用此方法获取媒体播放器当前的自动播放设置。
注: 必须在调用 getConfigs:error: 方法之后调用。
调用时机
必须在调用 getConfigs:error: 方法之后调用。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
是否成功获取自动播放设置:
- YES:获取成功。
- NO:获取失败。
所属接口类
getConfigs:error:
获取当前播放器的视频渲染配置。
- (BOOL)getConfigs:(AgoraRteCanvasConfig* _Nonnull)config error:(AgoraRteError* _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你需要在调用 initWithRte:initialConfig: 方法之后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
config | 视频画布配置,详见 AgoraRteCanvasConfig。 |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:获取成功。
- NO:获取失败。
所属接口类
getConfigs:error:
获取当前媒体播放器配置选项。
- (BOOL)getConfigs:(AgoraRtePlayerConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 initWithRte:initialConfig: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
config | 媒体播放器配置选项,详见 AgoraRtePlayerConfig。 |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:获取成功。
- NO:获取失败。
所属接口类
getConfigs:error:
获取 RTE 对象的配置信息。
- (BOOL)getConfigs:(AgoraRteConfig *_Nonnull)config error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 initWithInitialConfig: 之后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
config | RTE 对象的配置信息。详见 AgoraRteConfig。 |
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
- YES:获取成功。
- NO:获取失败。
所属接口类
getFromBridge:
桥接一个来自 AgoraRtcEngineKit 的 RTE 对象。
+ (instancetype _Nonnull)getFromBridge:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
通过调用此方法创建的 RTE 对象无需通过 initMediaEngine:error: 进行初始化。如果你尚未创建并初始化 RTC 引擎,可以先调用 AgoraRte 创建一个 RTE 对象,然后使用 initMediaEngine:error: 进行初始化。
调用时机
在调用此方法之前,请确保你已通过调用 sharedEngineWithConfig:delegate: 初始化 RTC 引擎。
参数
| 参数名 | 描述 |
|---|---|
error | 用于接收状态和错误码的指针,详见 AgoraRteError。 |
返回值
方法调用成功,返回一个 RTE 对象,详见 AgoraRte。
所属接口类
getInfo:error:
获取播放器播放和媒体流相关的信息。
- (BOOL)getInfo:(AgoraRtePlayerInfo * _Nonnull)info error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以使用该方法获取播放器和媒体流相关的信息,例如音频采样率和视频帧尺寸。
注: 你必须在调用 initWithRte:initialConfig: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
info | 播放器和媒体流相关的信息。详见 AgoraRtePlayerInfo。 |
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
- YES:成功获取信息。
- NO:获取信息失败。
所属接口类
jsonParameter:
获取当前配置的 RTE 私有参数。
- (NSString * _Nullable)jsonParameter:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
参数
| 参数名 | 描述 |
|---|---|
error |
返回值
- 方法调用成功时,返回已设置的 JSON 格式参数集。
- 方法调用失败时,返回空字符串。
所属接口类
loopCount:
获取媒体文件的循环次数参数。
- (int32_t)loopCount:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
参数
| 参数名 | 描述 |
|---|---|
error | 输出参数,用于指示错误信息,详见 AgoraRteError。 |
返回值
方法调用成功时,返回媒体文件的循环次数。
所属接口类
videoMirrorMode:
获取当前设置的镜像模式。
- (AgoraRteVideoMirrorMode)videoMirrorMode:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 getConfigs:error: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
当前设置的镜像模式,详见 AgoraRteVideoMirrorMode。
所属接口类
playbackSpeed:
获取播放速度参数。
- (int32_t)playbackSpeed:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
参数
| 参数名 | 描述 |
|---|---|
error | 输出参数,用于指示错误信息,详见 AgoraRteError。 |
返回值
方法调用成功时,返回播放速度的值。
所属接口类
playoutVolume:
获取媒体播放器的播放音量。
- (int32_t)playoutVolume:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
参数
| 参数名 | 描述 |
|---|---|
error | 输出参数,用于返回错误信息,详见 AgoraRteError。 |
返回值
方法调用成功,返回媒体播放器的播放音量。
所属接口类
getPosition:
获取当前播放位置。
- (uint64_t)getPosition:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
该方法用于获取当前播放的时间位置,单位为毫秒。
参数
| 参数名 | 描述 |
|---|---|
error | 输出参数,用于指示错误信息。可能的返回值包括:
|
返回值
方法调用成功时,返回当前播放位置,单位为毫秒。
所属接口类
videoRenderMode:
获取当前设置的视频渲染模式。
- (AgoraRteVideoRenderMode)videoRenderMode:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你需要在调用 getConfigs:error: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
当前设置的视频渲染模式。详见 AgoraRteVideoRenderMode。
所属接口类
getStats:
获取播放器当前播放媒体资源的统计信息。
- (void)getStats:(void (^_Nonnull)(AgoraRtePlayerStats* _Nonnull stats, AgoraRteError* _Nullable err))cb;自从
自 v4.4.0 版本新增。
该方法用于获取播放器的统计信息,并通过回调函数异步返回结果。统计信息包括解码和渲染帧率、音视频码率等。
注: 你必须在调用 openWithUrl:startTime:cb: 方法之后再调用此方法。
参数
| 参数名 | 描述 |
|---|---|
cb | 一个异步回调函数,用于通知你播放器媒体资源统计信息的获取结果以及任何错误信息。该函数包含以下参数:
|
所属接口类
initMediaEngine:error:
初始化 RTE 引擎。
- (BOOL)initMediaEngine:(void (^ _Nullable)(AgoraRteError* _Nullable err) )cb error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
该方法为异步方法,通过回调函数返回初始化结果。你需要在创建 RTE 对象并设置 App ID 后调用该方法。
注: 该返回值仅表示初始化操作是否已成功加入异步任务队列,并不表示初始化是否成功。
调用时机
你需要在创建 RTE 对象并设置 App ID 后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
cb | 用于返回引擎初始化结果的异步回调函数。你可以通过该回调的 |
error | 初始化过程中发生的错误信息。当调用 initMediaEngine:error: 方法进行初始化时,如果发生可立即检测的错误(如参数无效或资源不足),SDK 会通过该参数同步返回错误信息。详见 AgoraRteError。 |
返回值
- YES:异步操作成功加入队列。
- NO:异步操作未能加入队列。
该返回值仅表示初始化操作是否已成功加入异步任务队列,并不表示初始化是否成功。
所属接口类
message
获取详细错误信息。
- (NSString * _Nullable)message;自从
自 v4.4.0 版本新增。
调用时机
当 API 调用失败时,你可以调用此方法获取错误信息,以帮助排查问题。
返回值
- 方法调用成功时,返回错误信息字符串。
- 方法调用失败时,返回空字符串。
所属接口类
muteAudio:error:
开始或停止接收音频流。
- (BOOL)muteAudio:(BOOL)mute error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 openWithUrl:startTime:cb: 之后调用此方法。
相关回调
调用该方法成功后,会触发 onPlayerInfoUpdated: 回调以上报最新的播放器和媒体流信息。
参数
| 参数名 | 描述 |
|---|---|
mute | |
error | 输出参数,状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:操作成功。
- NO:操作失败。
所属接口类
muteVideo:error:
开始或停止接收远端视频流。
- (BOOL)muteVideo:(BOOL)mute error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 openWithUrl:startTime:cb: 之后调用此方法。
相关回调
调用该方法成功后,会触发 onPlayerInfoUpdated: 回调以上报最新的播放器和媒体流信息。
参数
| 参数名 | 描述 |
|---|---|
mute | |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:操作成功。
- NO:操作失败。
所属接口类
openWithUrl:startTime:cb:
打开一个 URL 资源。
- (void)openWithUrl:(NSString * _Nonnull)url startTime:(uint64_t)startTime cb:(void (^_Nullable)(AgoraRteError* _Nullable err))cb;自从
自 v4.4.0 版本新增。
该方法支持通过 URL 打开实时流媒体资源。若希望加快打开 URL 资源的速度,可以在调用该方法前先调用 preloadWithUrl:error: 预加载资源。
注: 该方法目前仅支持打开以 rte:// 开头的 URL、CDN 推流 URL 和本地媒体文件。
调用时机
该方法必须在调用 initWithRte:initialConfig: 之后调用。
相关回调
成功调用该方法后,SDK 会触发 onStateChanged:newState:error: 回调报告播放器连接状态为 AgoraRtePlayerStateOpening,表示正在打开 URL。打开成功后,播放器连接状态会报告为 AgoraRtePlayerStateOpenCompleted。如果资源打开失败,会收到 onStateChanged:newState:error: 回调,报告连接状态为 AgoraRtePlayerStateFailed。此时需先调用 pause:,再调用 openWithUrl:startTime:cb: 重新打开 URL 资源。如果已关闭自动播放,可在资源打开后调用 play: 开始播放。
参数
| 参数名 | 描述 |
|---|---|
url | |
startTime | |
cb | 异步通知打开 URL 资源结果的回调。你可以通过该回调的 |
所属接口类
pause:
暂停播放。
- (BOOL)pause:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用 play: 播放 URL 资源后,如果你希望暂停播放,可以调用该方法。如果你希望停止播放,请调用 pause:。你必须在调用 play: 之后调用该方法。
调用时机
你必须在调用 play: 之后调用该方法。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:暂停播放成功。
- NO:暂停播放失败。
所属接口类
play:
播放一个以 rte:// 开头的 URL 资源。
- (BOOL)play:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
如果你已关闭自动播放,在使用 openWithUrl:startTime:cb: 成功打开直播流后,可以调用此方法开始播放。
调用时机
仅在收到 onStateChanged:newState:error: 回调并报告状态为 AgoraRtePlayerStateOpenCompleted 后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
error | 连接状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:播放成功。
- NO:播放失败。
所属接口类
initWithRte:initialConfig:
构造一个播放器对象。
- (instancetype _Nonnull)initWithRte:(AgoraRte * _Nonnull)rte initialConfig:(AgoraRtePlayerInitialConfig * _Nullable)config;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 initMediaEngine:error: 之后调用此方法。
参数
所属接口类
preloadWithUrl:error:
预加载 URL 资源。
+ (BOOL)preloadWithUrl:(NSString * _Nonnull)url error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以在调用 openWithUrl:startTime:cb: 之前调用该方法,成功预加载 URL 资源后,可以更快地通过 openWithUrl:startTime:cb: 打开该资源,从而减少等待时间,提升视听体验的流畅度。
注: 该方法当前仅对以 rte:// 为前缀的 URL 生效。最多可预加载 20 个 URL,若超过限制,最新预加载的 URL 会替换最早的 URL。
适用场景
在打开媒体资源前预加载,可以减少用户等待时间,提供更流畅的视听体验。
参数
| 参数名 | 描述 |
|---|---|
url | |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:预加载成功。
- NO:预加载失败。
所属接口类
registerObserver:error:
注册一个播放器观察者对象。
- (BOOL)registerObserver:(AgoraRtePlayerObserver *_Nonnull)observer error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
在调用此方法之前,你需要实现一个继承自 AgoraRtePlayerObserver 的接口类。你必须在调用 initWithRte:initialConfig: 之后再调用此方法。
参数
| 参数名 | 描述 |
|---|---|
observer | 接口对象实例,详见 AgoraRtePlayerObserver。 |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:注册成功。
- NO:注册失败。
所属接口类
removeView:config:error:
移除一个渲染视图。
- (BOOL)removeView:(AgoraRteView * _Nonnull)view config:(AgoraRteViewConfig* _Nullable)config error:(AgoraRteError* _Nullable)error;自从
自 v4.4.0 版本新增。
调用 addView:config:error: 方法添加视图后,可以调用该方法移除渲染视图。
注: 每次只能移除一个视图。
调用时机
必须在调用 addView:config:error: 方法之后调用。
参数
| 参数名 | 描述 |
|---|---|
view | |
config | |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:视图移除成功。
- NO:视图移除失败。
所属接口类
initWithInitialConfig:
构造一个 RTE 对象。
- (instancetype _Nonnull)initWithInitialConfig:(AgoraRteInitialConfig * _Nullable)config;自从
自 v4.4.0 版本新增。
RTE 对象用于组织和管理 RTE 的内部资源。你必须在调用 initMediaEngine:error: 方法之前调用此方法。
调用时机
你必须在调用 initMediaEngine:error: 方法之前调用此方法。
参数
返回值
- 方法调用成功,返回
RTE对象。 - 方法调用失败,返回 nil。
所属接口类
seek:error:
跳转到指定的播放位置。
- (BOOL)seek:(uint64_t)newTime error:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
参数
| 参数名 | 描述 |
|---|---|
newTime | |
error | 输出参数,用于在跳转操作失败时返回错误信息。详见 AgoraRteError。 |
返回值
- YES:跳转成功。
- NO:跳转失败。
所属接口类
setAbrFallbackLayer:error:
设置已订阅远端视频流的分层推流回退选项。
- (void)setAbrFallbackLayer:(AgoraRteAbrFallbackLayer)layer error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
在网络条件较差时,实时音视频通信的质量可能会下降。调用该方法后,SDK 会在网络变差时将远端视频流的分辨率回退到指定的视频质量层级。每个视频质量层级对应特定的分辨率和码率。SDK 会持续监测网络质量,在网络改善时恢复到原始订阅的视频质量层级。
默认情况下,调用该方法后只能选择回退到 AgoraRteAbrFallbackLow 或 AgoraRteAbrFallbackAudioOnly。如果你对视频体验有更高要求,可以联系技术支持开启 ABR 功能。开启后,可以回退到所有视频质量层级,并自定义每个层级的分辨率。
注: 如果未开启 ABR 功能,远端视频流的回退质量层级只能设置为 AgoraRteAbrFallbackLow 或 AgoraRteAbrFallbackAudioOnly。
适用场景
一般场景下,可调用该方法并将回退质量层设置为 kRteAbrFallbackLow 或 kRteAbrFallbackAudioOnly。当网络较差时,SDK 会回退为视频小流或仅接收音频流。
如果对回退视频流的分辨率有更高要求,可联系技术支持开启 ABR 功能。开启后,可自定义每一层的分辨率。SDK 会以你指定的最低质量层的分辨率为下限,并根据网络状况在该范围内动态调整分辨率。
调用时机
必须在调用 setConfigs:error: 之前调用该方法。
参数
| 参数名 | 描述 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
layer | 回退的视频质量层级。可选值详见 AgoraRteAbrFallbackLayer。当自定义 注: 自定义分辨率时,必须按从高到低的分辨率顺序排列视频质量层级。如果两个层级的分辨率相同,则按帧率从高到低排序。
自定义分辨率时,必须按从高到低的分辨率顺序排列视频质量层级。如果两个层级的分辨率相同,则按帧率从高到低排序。详见 | ||||||||||||||
error | 状态或错误信息。详见 AgoraRteError。 |
所属接口类
setAbrSubscriptionLayer:error:
设置订阅端媒体流的视频质量层级。
- (void)setAbrSubscriptionLayer:(AgoraRteAbrSubscriptionLayer)layer error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以根据实际的网络状况,在多质量层级视频流中切换不同的视频质量层级,每个层级对应不同的分辨率。默认情况下,调用该方法后,观众只能在高、低两个视频流之间切换,即 AgoraRteAbrSubscriptionHigh 和 AgoraRteAbrSubscriptionLow。如果你需要更高级的分辨率切换功能,可以联系技术支持开启 ABR(自适应码率)功能。开启后,你可以自定义每个视频质量层级的分辨率,观众可以根据需要在所有可用的视频质量层级之间切换。
注: 如果在调用该方法时未开启 ABR 功能,订阅的视频质量层级只能设置为 AgoraRteAbrSubscriptionHigh 或 AgoraRteAbrSubscriptionLow。
适用场景
在网络环境不稳定的场景中,订阅端可根据实际网络状况选择合适的视频质量层级,以保障流畅的观看体验。
调用时机
你必须在调用 setConfigs:error: 之前调用该方法。
参数
| 参数名 | 描述 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
layer | 要订阅的视频质量层级。你可以自定义 注意:自定义分辨率时,请确保视频质量层级按分辨率从高到低排序;如果分辨率相同,则按帧率从高到低排序。
详见 | ||||||||||||||
error | 状态或错误信息。详见 AgoraRteError。 |
所属接口类
setAppId:error:
设置声网 App ID。
- (void)setAppId:(NSString * _Nullable)appId error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 initMediaEngine:error: 之前调用此方法。
参数
| 参数名 | 描述 |
|---|---|
appId | |
error | 状态或错误信息,详见 AgoraRteError。 |
所属接口类
setAutoPlay:error:
设置是否启用自动播放。
- (void)setAutoPlay:(BOOL)autoPlay error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以在调用 openWithUrl:startTime:cb: 之前调用此方法设置是否启用自动播放。如果未设置,默认启用自动播放。
注: 该方法必须在调用 openWithUrl:startTime:cb: 之前调用。
调用时机
该方法必须在调用 openWithUrl:startTime:cb: 之前调用。
参数
| 参数名 | 描述 |
|---|---|
autoPlay | |
error | 状态或错误信息,详见 AgoraRteError。 |
所属接口类
setCanvas:error:
设置用于显示视频的视图窗口。
- (BOOL)setCanvas:(AgoraRteCanvas *_Nonnull)canvas error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
该方法用于设置用于显示视频的视图窗口。在视频流成功开始播放后,视频将渲染在指定的 canvas 上。
注: 你必须在调用 initWithRte:initialConfig: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
canvas | 用于渲染视频帧的视图窗口。详见 AgoraRteCanvas。 |
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
- YES:设置成功。
- NO:设置失败。你可以通过
error参数返回的错误码获取详细信息。
所属接口类
setConfigs:error:
设置播放器的视频渲染配置。
- (BOOL)setConfigs:(AgoraRteCanvasConfig* _Nonnull)config error:(AgoraRteError* _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 openWithUrl:startTime:cb: 之前调用此方法。
参数
| 参数名 | 描述 |
|---|---|
config | Canvas 对象的设置,详见 AgoraRteCanvasConfig。 |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:配置成功。
- NO:配置失败。
所属接口类
setConfigs:error:
配置播放器参数。
- (BOOL)setConfigs:(AgoraRtePlayerConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以调用此方法配置播放器,例如启用自动播放、订阅不同分辨率和码率的视频流。
注: 必须在调用 initWithRte:initialConfig: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
config | 播放器配置对象。详见 AgoraRtePlayerConfig。 |
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
- YES:配置成功。
- NO:配置失败。
所属接口类
setConfigs:error:
配置 RTE 对象的信息。
- (BOOL)setConfigs:(AgoraRteConfig * _Nonnull)config error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
你可以调用此方法设置如 App ID 等信息。
注: 必须在调用 initWithInitialConfig: 之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
config | RTE 对象的设置信息,详见 AgoraRteConfig。 |
error | 状态或错误信息,详见 AgoraRteError。 |
返回值
- YES:配置成功。
- NO:配置失败。
所属接口类
setJsonParameter:error:
通过 JSON 配置 SDK 提供的技术预览或定制功能。
- (void)setJsonParameter:(NSString * _Nullable)jsonParameter error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
当你需要设置私有参数或使用定制功能时,可以调用此方法。
注: 你必须在调用 setConfigs:error: 之前调用此方法。
适用场景
当你需要设置私有参数或使用定制化功能时,可以调用此方法。
参数
| 参数名 | 描述 |
|---|---|
jsonParameter | |
error | 状态或错误信息,详见 AgoraRteError。 |
所属接口类
setLoopCount:error:
设置播放媒体文件的循环次数。
- (void)setLoopCount:(int32_t)count error:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
参数
| 参数名 | 描述 |
|---|---|
count | |
error |
所属接口类
setVideoMirrorMode:error:
设置视频镜像模式。
- (void)setVideoMirrorMode:(AgoraRteVideoMirrorMode)mode error:(AgoraRteError* _Nullable)error;自从
自 v4.4.0 版本新增。
调用时机
你必须在调用 setConfigs:error: 之前调用此方法。
参数
| 参数名 | 描述 |
|---|---|
mode | 镜像模式,详见 AgoraRteVideoMirrorMode。默认值为 |
error | 状态或错误信息,详见 AgoraRteError。 |
所属接口类
setPlaybackSpeed:error:
设置播放速度参数。
- (void)setPlaybackSpeed:(int32_t)speed error:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
注: 你可以在调用 openWithUrl:startTime:cb: 方法之后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
speed | |
error | 用于返回错误信息的输出参数。详见 AgoraRteError。 |
所属接口类
setPlayoutVolume:error:
设置播放音量参数。
- (void)setPlayoutVolume:(int32_t)volume error:(AgoraRteError * _Nullable)error;自从
自 v4.5.1 版本新增。
你可以使用该方法设置播放音量。有效范围为 [0, 400]。
参数
| 参数名 | 描述 |
|---|---|
volume | |
error |
所属接口类
setVideoRenderMode:error:
设置视频渲染模式。
- (void)setVideoRenderMode:(AgoraRteVideoRenderMode)mode error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
参数
| 参数名 | 描述 |
|---|---|
mode | 要设置的视频渲染模式,详见 AgoraRteVideoRenderMode。默认值为 |
error |
所属接口类
stop:
停止播放。
- (BOOL)stop:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
参数
| 参数名 | 描述 |
|---|---|
error | 状态或错误信息,详见 AgoraRteError。可能返回以下 AgoraRteErrorCode:
|
返回值
- YES:停止成功。
- NO:停止失败。你可以通过
error参数查看具体错误信息。
所属接口类
switchWithUrl:syncPts:cb:
在播放过程中切换到新的 URL。
- (void)switchWithUrl:(NSString * _Nonnull)url syncPts:(BOOL)syncPts cb:(void (^_Nullable)(AgoraRteError* _Nullable err))cb;自从
自 v4.5.1 版本新增。
注: 该方法仅在使用非 RTE URL 打开播放器时有效。你必须在 SDK 返回播放器状态为 AgoraRtePlayerStateOpenCompleted 后调用此方法。
参数
| 参数名 | 描述 |
|---|---|
url | |
syncPts | |
cb | 异步通知切换操作结果的回调。你可以通过该回调的 |
所属接口类
unregisterObserver:error:
取消注册媒体播放器事件观察者对象。
- (BOOL)unregisterObserver:(AgoraRtePlayerObserver * _Nullable)observer error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
调用 registerObserver:error: 注册媒体播放器事件观察者对象后,如需取消注册该观察者对象,可以调用此方法。
注: 该方法必须在调用 registerObserver:error: 之后调用。
调用时机
该方法必须在调用 registerObserver:error: 之后调用。
参数
| 参数名 | 描述 |
|---|---|
observer | 媒体播放器事件观察者对象。详见 AgoraRtePlayerObserver。 |
error | 状态或错误信息。详见 AgoraRteError。 |
返回值
- YES:取消注册成功。
- NO:取消注册失败。
所属接口类
onAudioVolumeIndication:
播放器音量提示回调。
- (void)onAudioVolumeIndication:(int32_t)volume;自从
自 v4.4.0 版本新增。
触发时机
当播放器音量发生变化时,SDK 会触发该回调。
参数
所属接口类
onEvent:
播放器事件回调。
- (void)onEvent:(AgoraRtePlayerEvent)event;自从
自 v4.4.0 版本新增。
如果你需要监听播放器事件,必须先调用 registerObserver:error: 方法注册播放器观察者对象。
触发时机
该回调在播放器事件发生变化时被触发。
参数
| 参数名 | 描述 |
|---|---|
event | 播放器事件,详见 AgoraRtePlayerEvent。 |
所属接口类
onMetadata:data:
接收媒体元数据的回调。
- (void)onMetadata:(AgoraRtePlayerMetadataType)type data:(NSData * _Nonnull)data;自从
自 v4.4.0 版本新增。
如果你需要从输入在线媒体流中获取元数据,必须先调用 registerObserver:error: 注册一个播放器观察者对象。
触发时机
该回调在 SDK 从输入在线媒体流中解析出元数据后触发,用于上报数据的类型和内容。
参数
| 参数名 | 描述 |
|---|---|
type | 元数据的类型,详见 AgoraRtePlayerMetadataType。 |
data |
所属接口类
onPlayerInfoUpdated:
播放器或媒体流信息发生变化时触发的回调。
- (void)onPlayerInfoUpdated:(AgoraRtePlayerInfo * _Nonnull)info;自从
自 v4.4.0 版本新增。
如果你希望获取播放器或媒体流的信息,需要先调用 registerObserver:error: 方法注册播放器观察者对象。你也可以直接使用 getInfo:error: 方法获取信息。
触发时机
当播放器或媒体流信息发生变化时,SDK 会触发该回调。
参数
| 参数名 | 描述 |
|---|---|
info | 关于播放器和媒体流的信息,详见 AgoraRtePlayerInfo。 |
所属接口类
onPositionChanged:utcTime:
onPositionChanged:utcTime: 回调。报告媒体资源的当前播放进度。
- (void)onPositionChanged:(uint64_t)currentTime utcTime:(uint64_t)utcTime;自从
自 v4.4.0 版本新增。
触发时机
该回调在媒体资源播放过程中每秒触发一次。
参数
所属接口类
onResolutionChanged:height:
视频分辨率变化的回调。
- (void)onResolutionChanged:(int)width height:(int)height;自从
自 v4.4.0 版本新增。
如果你需要监控播放器正在播放的视频流的分辨率变化,必须先调用 registerObserver:error: 方法注册播放器观察者对象。
触发时机
该回调在视频流的分辨率发生变化时被触发,报告当前视频的宽度和高度。
参数
所属接口类
onStateChanged:newState:error:
播放器状态发生变化回调。
- (void)onStateChanged:(AgoraRtePlayerState)oldState newState:(AgoraRtePlayerState)newState error:(AgoraRteError * _Nullable)error;自从
自 v4.4.0 版本新增。
如果你需要监听播放器状态的变化,必须先调用 registerObserver:error: 方法注册播放器观察者对象。
触发时机
该回调在播放器状态发生变化时被触发,用于报告当前状态和之前的状态。
参数
| 参数名 | 描述 |
|---|---|
oldState | 变更前的播放器状态,详见 AgoraRtePlayerState。 |
newState | 当前的播放器状态,详见 AgoraRtePlayerState。如果当前状态为 |
error | 状态或错误信息,详见 AgoraRteError。 |