音频和TTS DUCK问题

时间:2014-08-20 14:17:55

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

在我的应用程序运行时,我尝试了许多不同的方法来播放音乐,并尝试使用TTS命令播放一些自定义的TTS语音,但没有运气。

我在播放TTS时播放音频的当前代码如下:

[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
UInt32 allowMixing = 1;
AudioSessionSetProperty (
                         kAudioSessionProperty_OverrideCategoryMixWithOthers,
                         sizeof (allowMixing),
                         &allowMixing
                         );

allowMixing = YES;
AudioSessionSetProperty(kAudioSessionProperty_OtherMixableAudioShouldDuck, sizeof(allowMixing), &allowMixing);   
AudioSessionSetActive(YES);

但仍存在音量问题

有了这个我的音量下降但是在我的TTS结束后我使用下面的代码来升级低音音乐。

AudioSessionSetActive(NO);

但音量保持不变。

任何帮助将不胜感激。我花了将近10天的时间来找到正确的方式来播放音乐(让它在情人音量的背景下播放),同时播放TTS,然后在TTS结束时重新调整音乐音量。

1 个答案:

答案 0 :(得分:0)

[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
               withOptions:AVAudioSessionCategoryOptionDuckOthers error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

尝试使用此代码在播放TTS时删除音频。