首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVCaptureDevice requestAccessForMediaType:

AVCaptureDevice requestAccessForMediaType:
EN

Stack Overflow用户
提问于 2020-01-02 12:38:42
回答 2查看 428关注 0票数 1

MacOS 10.14

代码语言:javascript
复制
<key>NSMicrophoneUsageDescription</key>
    <string>Record audio!</string>

这在swift项目中有效:

代码语言:javascript
复制
AVCaptureDevice.requestAccess(for: .audio) { granted in
            if granted {
                //self.setupCaptureSession()
            }
        }

但这在ObjectiveC项目中不起作用(线程8: signal SIGABRT)

代码语言:javascript
复制
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted) {
            if (granted) {
                //self.microphoneConsentState = PrivacyConsentStateGranted;
            }
            else {
                //self.microphoneConsentState = PrivacyConsentStateDenied;
            }
        }];

我在ObjectiveC项目中做错了什么或错过了什么?(我不想将我的项目转换为swift。)

感谢您的帮助。谢谢,保罗

EN

回答 2

Stack Overflow用户

发布于 2020-01-02 14:18:22

为了使用AVCaptureDevice,您需要添加这两个项目的描述,即NSCameraUsageDescription, NSMicrophoneUsageDescription

有关参考,请参阅Apple Doc

如果您只想录制音频,也可以使用AVAudioSession接口。

票数 0
EN

Stack Overflow用户

发布于 2020-01-03 12:42:18

我开始了一个新的ObjectiveC项目(MacOS10.14),并复制了旧项目中的所有内容(xibs等)。它显示了适当的访问对话框,但实际上并没有记录。我不得不在功能中选中音频输入复选框-在浪费了一个小时之后。:-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59558330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档