首页 > 解决方案 > AVCaptureDevice requestAccessForMediaType:

问题描述

macOS 10.14

<key>NSMicrophoneUsageDescription</key>
    <string>Record audio!</string>

这适用于一个快速的项目:

AVCaptureDevice.requestAccess(for: .audio) { granted in
            if granted {
                //self.setupCaptureSession()
            }
        }

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

[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted) {
            if (granted) {
                //self.microphoneConsentState = PrivacyConsentStateGranted;
            }
            else {
                //self.microphoneConsentState = PrivacyConsentStateDenied;
            }
        }];

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

任何帮助表示赞赏。谢谢,保罗

标签: objective-ccrashavcapturedevice

解决方案


我开始了一个新的 ObjectiveC 项目(MacOs 10.14)并将旧项目中的所有内容复制到它(xibs 等)。它显示了适当的访问对话,但实际上并没有记录。必须检查功能中的音频输入复选框 - 在搞砸了一个小时之后。:-)


推荐阅读