Ref T739, MacOS only mic. access style using #ifdef

Although not required, "hide" mm code on other platforms
(avoid CLANG warnings in QtC)
This commit is contained in:
Klaus Basan
2019-10-08 23:18:20 +02:00
committed by Mat Sutcliffe
parent f81a9e8447
commit 8a2d3458b4
2 changed files with 16 additions and 13 deletions

View File

@@ -21,6 +21,7 @@ namespace BlackMisc
class BLACKMISC_EXPORT CMacOSMicrophoneAccess : public QObject class BLACKMISC_EXPORT CMacOSMicrophoneAccess : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
//! Authorization status //! Authorization status
enum AuthorizationStatus enum AuthorizationStatus

View File

@@ -7,44 +7,46 @@
*/ */
#include "microphoneaccess.h" #include "microphoneaccess.h"
#ifdef Q_OS_MAC
#import <AVFoundation/AVFoundation.h> #import <AVFoundation/AVFoundation.h>
#endif
namespace BlackMisc namespace BlackMisc
{ {
//#ifdef Q_OS_MAC
BlackMisc::CMacOSMicrophoneAccess::CMacOSMicrophoneAccess(QObject *parent) : BlackMisc::CMacOSMicrophoneAccess::CMacOSMicrophoneAccess(QObject *parent) :
QObject(parent) QObject(parent)
{ } { }
void CMacOSMicrophoneAccess::requestAccess() void CMacOSMicrophoneAccess::requestAccess()
{ {
#ifdef Q_OS_MAC
if (@available(macOS 10.14, *)) if (@available(macOS 10.14, *))
{ {
NSString *mediaType = AVMediaTypeAudio; NSString *mediaType = AVMediaTypeAudio;
[AVCaptureDevice requestAccessForMediaType:mediaType completionHandler:^(BOOL granted) [AVCaptureDevice requestAccessForMediaType:mediaType completionHandler: ^ (BOOL granted)
{ {
emit permissionRequestAnswered(granted); emit permissionRequestAnswered(granted);
}]; }];
} }
else else
{ {
emit permissionRequestAnswered(true); emit permissionRequestAnswered(true);
} }
#endif
} }
CMacOSMicrophoneAccess::AuthorizationStatus CMacOSMicrophoneAccess::getAuthorizationStatus() CMacOSMicrophoneAccess::AuthorizationStatus CMacOSMicrophoneAccess::getAuthorizationStatus()
{ {
#ifdef Q_OS_MAC
if (@available(macOS 10.14, *)) if (@available(macOS 10.14, *))
{ {
NSString *mediaType = AVMediaTypeAudio; NSString *mediaType = AVMediaTypeAudio;
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType]; AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
if(authStatus == AVAuthorizationStatusAuthorized) if (authStatus == AVAuthorizationStatusAuthorized)
{ {
return AuthorizationStatus::Authorized; return AuthorizationStatus::Authorized;
} }
else if(authStatus == AVAuthorizationStatusNotDetermined) else if (authStatus == AVAuthorizationStatusNotDetermined)
{ {
return AuthorizationStatus::NotDetermined; return AuthorizationStatus::NotDetermined;
} }
@@ -54,9 +56,9 @@ namespace BlackMisc
{ {
return AuthorizationStatus::Authorized; return AuthorizationStatus::Authorized;
} }
#else
return AuthorizationStatus::NotDetermined;
#endif
} }
} // ns
// #endif
}