Delphi MacOS 项目出现错误 "Unauthorized to record audio"
Delphi MacOS project gets Error "Unauthorized to record audio"
新的 Delphi 10.4.2 macOS 项目尝试录制麦克风音频,但在弹出窗口中收到此错误消息 window:
“未经授权录制音频。”
Delphi 应用如何获得录制音频的授权?
我从空白项目开始,所以...
项目 |选项 |申请 |版本信息 |钥匙
NSMicrophoneUsageDescription 设置为默认字符串“访问麦克风的原因”
FMX.Media.AVFoundation 中出现异常:
{$ELSEIF DEFINED(MACOS)}
if TOSVersion.Check(10, 14) and (TAVCaptureDevice.OCClass.authorizationStatusForMediaType(AVMediaTypeAudio) <> AVAuthorizationStatusAuthorized) then
raise ECaptureDeviceException.Create(SAudioCaptureUnauthorized);
{$ENDIF}
添加对 RequestPermission 的调用有效。
procedure TForm1.FormCreate(Sender: TObject);
begin
fMic := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice;
{$IFDEF MACOS}
fMic.RequestPermission;
{$ENDIF}
end;
新的 Delphi 10.4.2 macOS 项目尝试录制麦克风音频,但在弹出窗口中收到此错误消息 window:
“未经授权录制音频。”
Delphi 应用如何获得录制音频的授权?
我从空白项目开始,所以...
项目 |选项 |申请 |版本信息 |钥匙 NSMicrophoneUsageDescription 设置为默认字符串“访问麦克风的原因”
FMX.Media.AVFoundation 中出现异常:
{$ELSEIF DEFINED(MACOS)}
if TOSVersion.Check(10, 14) and (TAVCaptureDevice.OCClass.authorizationStatusForMediaType(AVMediaTypeAudio) <> AVAuthorizationStatusAuthorized) then
raise ECaptureDeviceException.Create(SAudioCaptureUnauthorized);
{$ENDIF}
添加对 RequestPermission 的调用有效。
procedure TForm1.FormCreate(Sender: TObject);
begin
fMic := TCaptureDeviceManager.Current.DefaultAudioCaptureDevice;
{$IFDEF MACOS}
fMic.RequestPermission;
{$ENDIF}
end;