在iOS中,我正在尝试在播放某些音效时降低音乐应用程序的音量。如果您不知道,“降噪”就是指在播放声音之前将音乐音量稍微降低,然后播放声音,然后恢复音乐音量。
为了实现降噪,我将AVAudioSession类别设置为AVAudioSessionCategoryAmbient,并使用选项AVAudioSessionCategoryOptionDuckOthers,然后激活/停用会话(显然在播放声音期间)。它运行良好,但音量更改似乎在调用的同一线程中完成,应用程序在修改音量时挂起。
如果您想要复制这种行为,我认为最快的方法是启动一个新的SpriteKit项目,这将为您提供样本,旋转项目。然后将以下代码放入touchesBegan:withEvent方法中:
为了实现降噪,我将AVAudioSession类别设置为AVAudioSessionCategoryAmbient,并使用选项AVAudioSessionCategoryOptionDuckOthers,然后激活/停用会话(显然在播放声音期间)。它运行良好,但音量更改似乎在调用的同一线程中完成,应用程序在修改音量时挂起。
如果您想要复制这种行为,我认为最快的方法是启动一个新的SpriteKit项目,这将为您提供样本,旋转项目。然后将以下代码放入touchesBegan:withEvent方法中:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient withOptions: AVAudioSessionCategoryOptionDuckOthers error: nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[[AVAudioSession sharedInstance] setActive:NO error:nil];
接下来在iOS设备上运行应用程序,在音乐应用程序中放置一些音乐并触摸屏幕以创建船只和闪避音乐。您会听到鸭子声音,但也会看到船只在屏幕上冻结。
这是正常的吗?最简单的方法是什么,可以避免应用程序在制作鸭子时冻结?
顺便说一句,我正在使用iOS 8.1上的iPhone 5S。此外,我正在使用Unity3D插件。如何从Unity本身制作Music app的鸭子效果?