iOS에서 STT와 TTS를 이용한 작업을 하다 2개를 번갈아 가며 사용하려고 하는데 STT를 사용하다가 TTS를 사용하려고 하니 아래와 같은 문제가 발생하였다.
Failure starting audio queue \M-3<…>
찾아보니 audioSession.setCategory를 사용해 audio 사용에 관해 명확히 지정을 해야 한다고 나왔다.
NSError* error;
[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryPlayback error:&error];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:textStr];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:lang];
utterance.rate = speed;
utterance.pitchMultiplier = pitch;
[synthesizer speakUtterance:utterance];
그리하여 위와 같이 AVAudioSessionCategoryPlayback으로 명확히 지정을 해주니 에러 없이 잘 실행 되었다.