#import <AVFoundation/AVFoundation.h>
//类型定义
typedef NSString * AVMediaType NS_EXTENSIBLE_STRING_ENUM;
AVF_EXPORT AVMediaType const AVMediaTypeVideo NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT AVMediaType const AVMediaTypeAudio NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT AVMediaType const AVMediaTypeText NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT AVMediaType const AVMediaTypeClosedCaption NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT AVMediaType const AVMediaTypeSubtitle NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT AVMediaType const AVMediaTypeTimecode NS_AVAILABLE(10_7, 4_0);
AVF_EXPORT AVMediaType const AVMediaTypeMetadata NS_AVAILABLE(10_8, 6_0);
AVF_EXPORT AVMediaType const AVMediaTypeMuxed NS_AVAILABLE(10_7, 4_0);
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeAudio];
//权限定义
typedef NS_ENUM(NSInteger, AVAuthorizationStatus) {
AVAuthorizationStatusNotDetermined = 0, /* 没有询问是否开启麦克风*/
AVAuthorizationStatusRestricted = 1, /* 未授权,家长限制*/
AVAuthorizationStatusDenied = 2, /* 玩家未授权*/
AVAuthorizationStatusAuthorized = 3, /* 玩家授权*/
} API_AVAILABLE(macos(10.14), ios(7.0)) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
如果要获取摄像头的权限,则将mediaType改为 AVMediaTypeVideo 即可。
if (authStatus == AVAuthorizationStatusNotDetermined) {
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio
completionHandler:^(BOOL granted) {
dispatch_async(dispatch_get_main_queue(), ^{
if (granted) {
[self doSomething];
} else {
[self showAlertWithTitle:@"温馨提示" message:@"您没有开启\"麦克风\"权限\n 无法进行通话。请在设置中开启麦克风权限。"];
}
});
}];
} else if (authStatus == AVAuthorizationStatusDenied || authStatus == AVAuthorizationStatusRestricted) {
[self showAlertWithTitle:@"温馨提示" message:@"您没有开启\"麦克风\"权限\n 无法进行通话。\n 请在设置中开启麦克风权限。"];
} else if (authStatus == AVAuthorizationStatusAuthorized) {
[self doSomething];
}
如果要获取摄像头的权限,则将mediaType改为 AVMediaTypeVideo 即可。
OS8之后加入了PhotoKit,使用需要
#import <Photos/Photos.h>
//权限类型
typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
PHAuthorizationStatusNotDetermined = 0, /* 未询问用户是否授权*/
PHAuthorizationStatusRestricted, /* 未授权,例如家长控制*/
PHAuthorizationStatusDenied, /* 未授权,用户拒绝造成的*/
PHAuthorizationStatusAuthorized /* 已授权*/
}
PHAuthorizationStatus photoAuthStatus = [PHPhotoLibrary authorizationStatus];
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
if (status == PHAuthorizationStatusAuthorized) {
// 用户同意授权
}else {
// 用户拒绝授权
}
IOS10 需要在plist文件中添加获取权限声明,否则会崩溃,提示信息如下:
[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description.
The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.
plist中的设置如下所示:
如果后台依旧需要采集声音,则需要设置后台,如下所示:
Microsoft版的caffe在windows10下编译使用python1.微软caffe2.Cuda3.Cudnn合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLo...
现在用户们都已经非常适应全面屏手机的使用了。但刚买的手机桌面还是会有一个悬浮导航键。很多小伙伴想要关闭却不知道方法。于是今天换换就给大家介绍一下魅族18关闭悬浮球的方法吧!魅族18关闭悬浮球步骤1、通常这些手机使用的更改都是在设置里面操作。2、进入设置后。找到辅助功能。3、在辅助功能里我们就可以看见悬浮球选项。4、选择悬浮球右侧按钮点击即可关闭。5、当然。还有一种更简单的方法便是用户们下拉菜单栏。点击悬浮球选项就能关闭。...
BPSK(BinaryPhaseShiftKeying)-------二进制相移键控。是把模拟信号转换成数据值的转换方式之一,利用偏离相位的复数波浪组合来表现信息键控移相方式。BPSK使用了基准的正弦波和相位反转的波浪,使一方为0,另一方为1,从而可以同时传送接受2值(1比特)的信息。BPSK的映射关系如下所示其实现结构图如下图所示首先,将输入的1010二进制数据中的0都转化为-1,使得非极性码变为极性码。然后将数据通过一个FIR低通滤波器进行成型处理,成型滤波的主要目的是。......
算法起步之Dijkstra算法 原文: 算法起步之Dijkstra算法 友情提示:转载请注明出处【作者 idlear 博客:http://blog.csdn.net/idlear/article/details/19687579】 Dijkst...
一、对象合并1、拓展运算符(...)2、Object.assign()3、递归赋值4、jquery中的extend()二、数组合并1、扩展操作符2、使用array.concat()方法进行合并3、关于Apply4、array.push()方法进行合并
HTML 初识笔记总结(一)hello world! 我是前小白,一名平凡的小白级前端工程师。一、 HTML常见页面规范 <!DOCTYPE html>叫浏览器用 HTML5 文档格式解析该网页 <html lang="en"> 网页语言中文 <head> <meta charset="UTF-8"> 设定网页字符编码,常用的有utf-8和gb2312; <meta name="viewpor
1、版本 springboot 2.2.7.RELEASE jdk 1.8 zookeeper 3.5.6 curator 3.2.02、pom文件:这里只列出zookeeper 和 curator<dependencies> <dependency> <groupId>com.zz</groupId> <artifactId>zz-log</arti...
15.1友元类并非只有友元函数,还可以有友元类,友元类的所有方法都可以访问原始类的私有成员和保护成员。下面我们通过一个例子来讲解一下友元类定义TV类和Rmote类,分别作为电视机和遥控器的类由于遥控器可以控制电视机,即遥控器可以访问电视机的成员,所以要将Rmote类声明为TV的友元类,但是如果只是将Rmote类的一个成员函数声明为友元函数,则需要知道Rmote类的声明,所以TV类应...
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]"UserDebuggerHotKey"=dword:00000000"Debugger"="\"C:\\Windows\\system32\\vsjitdebugger.exe\" -p %ld -e %ld"[HKEY_LOCAL_MACHINE\SOFTWARE\Micros
QBSUM: a Large-Scale Query-Based Document Summarization Dataset fromReal-world Applications基于查询的文档摘要旨在提取或生成直接回答或与搜索查询相关的文档的摘要。这是一项重要的技术,可以有益于各种应用程序,例如搜索引擎、文档级机器阅读理解和聊天机器人。目前,为基于查询的摘要设计的数据集数量不足,现有数据集的规模和质量也有限。此外,据我们所知,没有公开可用的基于中文查询的文档摘要数据集。在本文中,我们提出了 QBSUM
这里开始学习datagrid查询功能的实现。一、前台代码: Start from zero <table id="dg" title="Client Side Pagination" toolbar="#tb" fitcolumns="true" rownumbers="true"
Generic Atmospheric Correction Online Service for InSAR (GACOS) 是纽卡斯尔大学Li Zhenhong 教授团队提供大气改正数据,数据可以在网站 http://ceg-research.ncl.ac.uk/v2/gacos/上进行申请,时间分辨率可以精确到分钟,空间分辨率为90m。申请到数据之后可以利用该数据对InSAR的...