在iOS7上同时使用TTS和音乐?

时间:2013-10-11 14:31:29

标签: objective-c ios7 text-to-speech

我想知道是否可以在iOS7上同时播放音乐和某种文字转语音引擎。我正在使用Apple的新内置API,其中一个正在运行,而不是两者都有效。有人在想吗? 我的TTS播放代码,也在后台工作

 -(void)speak:(NSString*)string
{
   AVAudioSession *audioSession = [AVAudioSession sharedInstance];

   NSError *setCategoryError = nil;
   [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];

   NSError *activationError = nil;
   [audioSession setActive:YES error:&activationError];

   AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:string];
   utterance.rate = 0.3f;
   utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:[AVSpeechSynthesisVoice currentLanguageCode]];

   AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];
   [synth speakUtterance:utterance];

}

1 个答案:

答案 0 :(得分:6)

好的,发现自己在阅读文档。

使用

BOOL success = [audioSession setCategory:AVAudioSessionCategoryPlayback
  withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&setCategoryError];

将音频播放与tts引擎混合。