我尝试了许多不同的方法来避免在我的应用程序运行时播放音乐,并尝试使用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结束时重新调节音乐的音量。
发布于 2016-02-19 20:07:11
[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
withOptions:AVAudioSessionCategoryOptionDuckOthers error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];尝试使用此代码在播放TTS时隐藏音频。
https://stackoverflow.com/questions/25407129
复制相似问题