Я пытаюсь преобразовать речь в текст и отображать ее в UILabel с использованием речевого фрейма. Я разрешил пользователю разрешить использование микрофона.интеграция речевых рамок, показывающая ошибку
Вот мой код
- (void)startRecording {
if (_recognitionTask != nil) {
[_recognitionTask cancel];
_recognitionTask = nil;
}
NSError *error;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryRecord error:&error];
[audioSession setMode:AVAudioSessionModeMeasurement error:&error];
[audioSession setActive:YES error:&error];
_recognitionRequest = [[SFSpeechAudioBufferRecognitionRequest alloc] init];
_recognitionTask = [[SFSpeechRecognitionTask alloc] init];
AVAudioInputNode *inputNode = [_audioEngine inputNode];
_recognitionRequest.shouldReportPartialResults = YES;
_recognitionTask = [_speechRecognizer recognitionTaskWithRequest:_recognitionRequest resultHandler:^(SFSpeechRecognitionResult *result, NSError *error) {
BOOL isFinal = NO;
if (result != nil) {
_textLabel.text = [[result bestTranscription] formattedString];
isFinal = result.isFinal;
}
NSLog(@"%@", error);
if (error != nil || isFinal) {
_textLabel.text = [NSString stringWithFormat:@"%@", error];
[inputNode removeTapOnBus:0];
[_audioEngine stop];
_recognitionRequest = nil;
_recognitionTask = nil;
}
}];
[_audioEngine prepare];
[_audioEngine startAndReturnError:nil];
}
При отладке это входит в блок recognitionTaskWithRequest, но результат равен нулю, и я получаю сообщение об ошибке, как это:
Error Domain=kAFAssistantErrorDomain Code=203 "Corrupt" UserInfo={NSUnderlyingError=0x14651450 {Error Domain=SiriSpeechErrorDomain Code=102 "(null)"}, NSLocalizedDescription=Corrupt}
Вы получили решение? Я столкнулся с тем же вопросом ... Пожалуйста, дайте мне знать, если вы нашли решение. –
@RaviKiran, Am сталкиваются с аналогичной проблемой тоже. Pls сообщит мне о решении проблемы, с которой вы столкнулись. Благодарю. – csharpnewbie
@csharpnewbie Я надеюсь, что мой ответ поможет вам. –