zoukankan      html  css  js  c++  java
  • iOS深入探索直播推拉流实现流程(二:推流权限判断 )

      推流权限判断实际上是对手机访问相机和麦克风权限的判断。如果连权限都没有怎么直播。需要注意的是,在iOS10以后,访问权限是需要在pilst里面申请的,这里自行脑补。

      在LFLiveKit里面是没有这一步的,楼主不才,写了一个比较简单的权限检查方法以供参考。

    #pragma mark --检查相机和麦克风的权限
    //检查相机权限
    - (void)checkCaptureDeviceEnableCheckCaptureVideo:(void(^)(BOOL isVideoSucc,NSString * err))succ{
        __weak ViewController * weakSelf = self;
        if ([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]==AVAuthorizationStatusNotDetermined) {
            [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
                if (granted) {
                    [weakSelf checkCaptureAudioDeviceEnableCheckCaptureVideo:^(BOOL isAutioSucc, NSString *err) {
                        if (isAutioSucc) {succ(YES,nil);}
                        else{succ(NO,err);}
                    }];
                }else{
                    succ(NO,@"app需要访问您的摄像头。
    请启用摄像头-设置/隐私/摄像头");
                }
            }];
        }else if([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]==AVAuthorizationStatusAuthorized){
            [self checkCaptureAudioDeviceEnableCheckCaptureVideo:^(BOOL isAutioSucc, NSString *err) {
                if (isAutioSucc) {succ(YES,nil);}
                else{succ(NO,err);}
            }];
        }else{
            succ(NO,@"app需要访问您的摄像头。
    请启用摄像头-设置/隐私/摄像头");
        }
    }
    //检查麦克风权限
    - (void)checkCaptureAudioDeviceEnableCheckCaptureVideo:(void(^)(BOOL isAutioSucc,NSString * err))succ{
        if ([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]==AVAuthorizationStatusNotDetermined) {
            [AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted) {
                if (granted) {succ(granted,nil);}
                else{succ(NO,@"app需要访问您的麦克风。
    请启用麦克风-设置/隐私/麦克风");}
            }];
        }else if([AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio]==AVAuthorizationStatusAuthorized){
            succ(YES,nil);
        }else{
            succ(NO,@"app需要访问您的麦克风。
    请启用麦克风-设置/隐私/麦克风");
        }
    }

       权限判断完成以后就相当于正式进入了LFLiveKit的学习。

    -----------------------------分割线-------------------------------------

      新手上路,共同进步群号:240970537

  • 相关阅读:
    log P1242 新汉诺塔
    Spring学习笔记
    spring之BeanFactory
    1.3.7、CDH 搭建Hadoop在安装之前(端口---第三方组件使用的端口)
    1.3.5、CDH 搭建Hadoop在安装之前(端口---Cloudera Search使用的端口)
    1.3.3、CDH 搭建Hadoop在安装之前(端口---CDH组件使用的端口)
    1.3.4、CDH 搭建Hadoop在安装之前(端口---Impala使用的端口)
    1.3.2、CDH 搭建Hadoop在安装之前(端口---Cloudera Navigator加密使用的端口)
    1.3、CDH 搭建Hadoop在安装之前(端口)
    1.3.1、CDH 搭建Hadoop在安装之前(端口---Cloudera Manager和Cloudera Navigator使用的端口)
  • 原文地址:https://www.cnblogs.com/fusheng-it/p/6018791.html
Copyright © 2011-2022 走看看