( 最近更新时间:2020-04-28 19:00:00 )

    # 订阅资源

    如果您的观众是从第三方 cdn 上拉流观看或收听,请联系对应第三方 cdn 确定拉流播放器的事情,

    如果您的观众是从融云低延迟直播链路观看或收听直播,那么请遵照如下方法订阅直播流,收听或观看直播。

    观众用户通过由 APPServer 获取的直播地址和直播类型去订阅直播间资源。订阅完成后的 RongRTCLiveCallback 中返回的 inputStream 如果是视频类型,创建一个远端视频 View 添加到流的渲染中即可显示。

    - (void)subscribeLiveAVStream:(NSString *)url
                         liveType:(RongRTCLiveType)liveType
                          handler:(nullable RongRTCLiveCallback)handler;
    
    已复制
    1
    2
    3
    # 参数说明
    参数 类型 必填 说明
    url NSString 主播直播的 url
    liveType RongRTCLiveType 当前直播类型
    handler RongRTCLiveCallback 动作的回调,会依次回调主播的 RongRTCLiveAVInputStream ,根据 streamType 区分是音频流还是视频流,如主播发布了音视频流,此回调会回调两次,分别为音频的 RongRTCLiveAVInputStream , 和视频的 RongRTCLiveAVInputStream
    # 示例代码
    [[RongRTCEngine sharedEngine] subscribeLiveAVStream:@"从APPServer查询回来的liveUrl" liveType:RongRTCLiveTypeAudioVideo handler:^(RongRTCCode desc, RongRTCLiveAVInputStream * _Nullable inputStream) {
        if (inputStream.streamType == RTCMediaTypeVideo) {
            RongRTCRemoteVideoView *view = [[RongRTCRemoteVideoView alloc] initWithFrame:self.localView.bounds];
            view.fillMode = RCVideoFillModeAspect;
            [inputStream setVideoRender:view];
            [self.view addSubview:view];
        }
    }];
    
    
    已复制
    1
    2
    3
    4
    5
    6
    7
    8
    9

    # 取消订阅

    主播端需要与观众连麦操作时,应先通过自己的 APPServer 获取当前聊天室内所有用户的列表,获取指定上麦用户的 ID,并构建一条连麦的自定义消息,调用 RongIMClientsendMessage 接口将自定义消息发送给指定上麦的观众用户。

    指定上麦的观众用户收到连麦的自定义消息后,应先调用 RongRTCEngineunsubscribeLiveAVStream 接口取消观看直播。

    - (void)unsubscribeLiveAVStream:(nullable NSString *)url
                         completion:(void (^)(BOOL isSuccess, RongRTCCode code))completion;
    
    已复制
    1
    2
    # 参数说明
    参数 类型 必填 说明
    url NSString 主播直播的 URL ,如果为空,则为最后一次 subscribeLiveAVStream 接口传入的 URL
    completion (void (^)(BOOL isSuccess , RongRTCCode code)) 动作的回调
    # 示例代码
    [[RongRTCEngine sharedEngine] unsubscribeLiveAVStream:nil completion:^(BOOL isSuccess, RongRTCCode code) {}];
    
    已复制
    1

    文档是否解决您的问题 ?

    如果遇到产品相关问题,您可 提交工单 寻求帮助