0
텍스트에 대한 siri의 연설을 다루고 있습니다. 그러나 나는 audioEngine의 응답이 없습니다.텍스트에 대한 Siri의 연설은 작동하지 않습니다.
audioEngine은 음성의 첫 번째 텍스트를 인식 한 후 한 번 시작되고 일정 시간 동안 음성을 인식하기를 원하기 때문에 중지됩니다. 모든 제안을 부탁드립니다. 여기
는 지금까지 코드 짓을한다 :NSLocale *locale = [NSLocale localeWithLocaleIdentifier:@"en-US"];
speechRecognizer = [[SFSpeechRecognizer alloc]initWithLocale: locale];
audioEngine = [[AVAudioEngine alloc]init];
if (speechRecognitionTask != nil) {
[audioEngine stop];
[speechRecognitionTask cancel];
speechRecognitionTask = nil;
}
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *error = nil;
if(error == nil) {
[audioSession setCategory:AVAudioSessionCategoryRecord error:&error];
[audioSession setMode:AVAudioSessionModeMeasurement error:&error];
[audioSession setActive:true error:&error];
} else
NSLog(@"audioSession properties weren't set because of an error.");
recognitionRequest = [[SFSpeechAudioBufferRecognitionRequest alloc] init];
AVAudioInputNode *inputNode = audioEngine.inputNode;
if (inputNode == nil) {
NSLog(@"AudioEngine has no input node");
return;
}
recognitionRequest.shouldReportPartialResults = true;
error = nil;
speechRecognitionTask = [speechRecognizer recognitionTaskWithRequest:recognitionRequest resultHandler:^(SFSpeechRecognitionResult * result, NSError * error1) {
BOOL isFinal = false;
if (result != nil) {
self.textView.text = result.bestTranscription.formattedString;
isFinal = ![result isFinal];
[audioEngine stop];
[inputNode removeTapOnBus: 0];
recognitionRequest = nil;
speechRecognitionTask = nil;
AVAudioFormat *recodringFormat = [inputNode outputFormatForBus:0];
[inputNode installTapOnBus:0 bufferSize:1024 format:recodringFormat block:^(AVAudioPCMBuffer * _Nonnull buffer, AVAudioTime * _Nonnull when) {
[recognitionRequest appendAudioPCMBuffer:buffer];
}];
NSError *error1;
[audioEngine prepare];
[audioEngine startAndReturnError:&error1];
if (error1 != nil) {
NSLog(@"Error discription: %@", error1.description);
}
당신은 대리인을 지정 했습니까? @Vin – KAR
예. 권한 부여 및 위임자 지정은 마이크로폰 버튼 탭 동작으로 작성됩니다. @KAR – Vin
@Vin, 문제를 해결 했습니까? 나는 너와 같은 문제에 직면 해있다. 이 문제를 어떻게 해결했는지 알려 주시면 감사하겠습니다. 고맙습니다. – gstream79