获取网络线路组

    • (void)getLineList:(void (^_Nullable)(TFLiveLineManager * _Nullable result))callback;
    调用示例: 
  [self.talkfunSDK getLineList:^(TFLiveLineManager* result) {
            if (result.code == TalkfunCodeSuccess) {

            }else{

            }

        }];

设置线路

    • (void)setNetwork:(NSString _Nonnull)operatorID selectedSegmentIndex:(NSInteger)selectedSegmentIndex callback:(void (^\_nullable)(NSInteger code ,TFError __Nullable error))callback
    调用示例: 
  [self.talkfunSDK setNetwork:button.networkDict.key selectedSegmentIndex:button.groupIndex callback:^(NSInteger code, TFError * _Nullable error) {

        if (code == 0) {

        }

    }];

----------------------下面的代码为过期的方法,不建议使用----------------------

伪直播说明

  • 伪直播和直播的播放流程和逻辑是一致的,不需要特殊处理。

  • 网络线路只能切换不同线路不能选择运营商

  • 如果当前网络速度不理想,SDK提供了接口更改网络。

    网络选择

//获取网络列表(伪直播和直播的播放流程和逻辑是一致的)
- (void)getNetworkList:(void (^)(id result))callback;

//设置网络
- (void)setNetwork:(NSString *)operatorID sourceName:(NSString *)sourceName selectedSegmentIndex:(NSInteger)selectedSegmentIndex;

调用示例:


         WeakSelf

       // isVodLive为YES,是伪直播 


         [self.talkfunSDK getNetworkList:^(id result) {

                if ([result[@"code"] intValue] == TalkfunCodeSuccess) {

                    //判断如果是直播
                    if ([result[@"isVodLive"] intValue ]==0)
                    {


                        weakSelf.networkSelectionVC.networkSelectionArray = result[@"data"];


                PERFORM_IN_MAIN_QUEUE(
                                      //TODO:网络选择控制器
                                      [weakSelf.view addSubview:weakSelf.networkSelectionVC.view];
                                      )



                    }

                    //判断如果是伪直播
                    else{

                    UIView * view = [[UIApplication sharedApplication].keyWindow viewWithTag:123];
                        if (!view) {

                            //TODO:线路选择
                            TalkfunNetworkLines * networkLinesView = [[NSBundle mainBundle] loadNibNamed:@"TalkfunNetworkLines" owner:nil options:nil][0];
                            networkLinesView.tag = 123;


                            networkLinesView.networkLinesArray = result[@"data"][@"operators"];

                            networkLinesView.frame = CGRectMake(0, 0, ScreenSize.width, ScreenSize.height);
                            WeakSelf
                            networkLinesView.networkLineBlock = ^(NSNumber * networkLineIndex){
                                [weakSelf.talkfunSDK  setNetwork:nil selectedSegmentIndex:[networkLineIndex intValue]];

                            };
                            PERFORM_IN_MAIN_QUEUE(
                                                  [weakSelf.view addSubview:networkLinesView];
                                                  )
                        }


                    }


                }else{
                    [weakSelf.view toast:result[@"msg"] position:ToastPosition];
                }


            }];   

@直播参数说明

参数 类型 描述
code NSNumber 状态码
data NSArray 数据
network NSDictionary 网络信息
cdn NSString cdn

直播data数据说明:

参数 类型 描述
cur NSNumber 线路
sourceName NSString 资源名称
host NSString 域名
cdn NSString cdn

@伪直播参数说明:数组里面装的是字典,字典里面数据如下:

参数 类型 描述
current NSNumber 是否当前线路(0不是,1是)
name NSString 线路名
index NSNumber 线路指针(调用setNetworkLine传进的参数)
把对应的运营商的key作为operatorID参数、sourceName作为sourceName参数、cur作为cur参数传进去。

直播
-(void)setNetwork:(NSString *)operatorID sourceName:(NSString *)sourceName selectedSegmentIndex:(NSInteger)selectedSegmentIndex;


伪直播
[self.talkfunSDK setNetwork:@"operatorID" sourceName:@"sourceName"  selectedSegmentIndex:@"cur"];

网络速度: TALKFUN_EVENT_NETWORK_SPEED

调用示例:
[self.talkfunSDK on:TALKFUN_EVENT_NETWORK_SPEED callback:^(id obj) {

}];

@参数说明:

参数 类型 描述
speed NSString 当前速度
networkStatus TalkfunNetworkStatus 网络状态
Copyright Talkfun all right reserved,powered by Gitbook修订时间: 2021-05-25 18:38:37

results matching ""

    No results matching ""