iOS是语音识别权限强制性的吗?

我正在使用语音识别搜索任何具有用户语音的对象。 我的代码如下。 但是我意识到一些使用语音识别器的Apple Market应用程序(不确定他们的技术),他们不需要获得语音识别器的许可来执行此操作。 但是我的代码正在获得许可,许可就是这样

“[AppName]想要访问语音识别,此应用程序的语音数据将发送给Apple处理您的请求,这也有助于Apple改进其语音识别技术。”

这可能对用户造成破坏性影响。 你有什么主意吗? 我不想征求许可。

audioEngine = [[AVAudioEngine alloc] init];

if (recognitionTask) {
    [recognitionTask cancel];
    recognitionTask = nil;
}

NSError *error;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryRecord error:&error];
[audioSession setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];

if (@available(iOS 10.0, *)) {
    recognitionRequest = [[SFSpeechAudioBufferRecognitionRequest alloc] init];
} else {}

AVAudioInputNode *inputNode = audioEngine.inputNode;
recognitionRequest.shouldReportPartialResults = YES;
if (@available(iOS 10.0, *)) {
    recognitionTask = [speechRecognizer recognitionTaskWithRequest:recognitionRequest resultHandler:^(SFSpeechRecognitionResult * _Nullable result, NSError * _Nullable error){
        BOOL isFinal = isSpeechStop;
        if (!isFinal) {
            NSLog(@"RESULT:%@",result.bestTranscription.formattedString);
           isFinal = !result.isFinal;
            }
        }
        if (error || isFinal) {
            [audioEngine stop];
            [inputNode removeTapOnBus:0];
            recognitionRequest = nil;
            [recognitionTask cancel];
            recognitionTask = nil;

        }
}

AVAudioFormat *recordingFormat = [inputNode outputFormatForBus:0];
[inputNode installTapOnBus:0 bufferSize:1024 format:recordingFormat block:^(AVAudioPCMBuffer * _Nonnull buffer, AVAudioTime * _Nonnull when) {
    [recognitionRequest appendAudioPCMBuffer:buffer];
}];

[audioEngine prepare];
[audioEngine startAndReturnError:&error];

如果您不想要求用户许可,则需要使用第三方SDK。 我不想专门推销任何产品,所以我不会提及SDK的名称。 通过搜索很容易找到它们。

当然,他们需要麦克风许可。

链接地址: http://www.djcxy.com/p/34391.html

上一篇: iOS Is Speech Recognition Permission Mandatory?

下一篇: Continuous speech recognition in android app without google popup