最近做Qt跨平台项目,实现im语音功能,用QAudioRecorder类去实现,windows上还好说。但到了mac就不容易了,macOS系统自10.14之后需要对麦克风、摄像头等进行授权才能使用,代码调用时需要去判断是否授权。
简单 的几步搞定:
第一步:在用到oc 代码的项目文件(.pro)中加入以下代码:
macx: LIBS += -framework Foundation
macx: LIBS += -framework AVFoundation
macx: QMAKE_CXXFLAGS += -x objective-c++
macx: OBJECTIVE_SOURCES += getMicrophone.mm //oc代码文件,功能实现文件
HEADERS += \
getMicrophone.h \ //接口声明文件
注意:getMicrophone.mm不能加在
SOURCES += \
下,否则编译是会报错的,因为.mm是oc的源文件。
第二步:定义接口;getMicrophone.h 内容如下:
#ifndef GETMICROPHONE_H
#def

本文介绍了如何在Qt项目中处理Mac OS 10.14以上版本的麦克风权限问题,通过Objective-C代码实现授权检测,并提供getMicrophone.mm接口和所需配置。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



