我尝试了许多不同的方法来在应用程序运行时停止播放音乐,并尝试使用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结束时重新调整音乐的音量。
最佳答案
[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
withOptions:AVAudioSessionCategoryOptionDuckOthers error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
在播放TTS时尝试使用此代码隐藏音频。
关于ios - 音频和TTS DUCK问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25407129/