В iOS я пытаюсь утихомирить музыку приложения Music при воспроизведении некоторых звуковых эффектов. В случае, если вы не знаете, «уклонение» просто означает, что громкость музыки немного разрядилась, прежде чем воспроизводить мой звук, затем звук воспроизводится, а затем громкость музыки возвращается назад.iOS AVAudioSession ducking медленный и синхронный
Для погружении в воду, я устанавливаю 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, поставить музыку в приложение Music и коснитесь экрана, чтобы создать корабли и утку музыку. Вы услышите утку, но также увидите, как на экране замерзают корабли.
Это нормально? Каким будет самый простой способ избежать замораживания приложения, пока утка будет сделана?
Кстати, я использую iPhone 5S на iOS 8.1. Кроме того, я использую это в плагине Unity3D. Как я могу укусить приложение «Музыка» из «Единства»?
же проблема здесь. –
Такая же проблема. Вы когда-нибудь находили решение этого? –