MacOS 10.14
<key>NSMicrophoneUsageDescription</key>
<string>Record audio!</string>这在swift项目中有效:
AVCaptureDevice.requestAccess(for: .audio) { granted in
if granted {
//self.setupCaptureSession()
}
}但这在ObjectiveC项目中不起作用(线程8: signal SIGABRT)
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeAudio completionHandler:^(BOOL granted) {
if (granted) {
//self.microphoneConsentState = PrivacyConsentStateGranted;
}
else {
//self.microphoneConsentState = PrivacyConsentStateDenied;
}
}];我在ObjectiveC项目中做错了什么或错过了什么?(我不想将我的项目转换为swift。)
感谢您的帮助。谢谢,保罗
发布于 2020-01-02 14:18:22
为了使用AVCaptureDevice,您需要添加这两个项目的描述,即NSCameraUsageDescription, NSMicrophoneUsageDescription
有关参考,请参阅Apple Doc
如果您只想录制音频,也可以使用AVAudioSession接口。
发布于 2020-01-03 12:42:18
我开始了一个新的ObjectiveC项目(MacOS10.14),并复制了旧项目中的所有内容(xibs等)。它显示了适当的访问对话框,但实际上并没有记录。我不得不在功能中选中音频输入复选框-在浪费了一个小时之后。:-)
https://stackoverflow.com/questions/59558330
复制相似问题