Я пытаюсь создать приложение для будильника.Чтобы воспроизводить сигналы тревоги, когда приложение находится в фоновом режиме, мое приложение воспроизводит абсолютно бесшумный звук (однако я слышу тихий шум, хотя, если я проигрываю тот же звуковой файл на моем компьютере, определенно ничего не слышно) в фоновом режиме донаступает время будильника, и AVPlayer воспроизводит звук будильника.Это работает, но когда мое приложение воспроизводит тихий звук в фоновом режиме, некоторые другие приложения (особенно некоторые игры) не воспроизводят их звук.Это немного странно, потому что в AppStore есть приложение Alarmy, которое определенно использует ту же систему с бесшумным звуком, но когда я устанавливаю будильник в этом приложении, оно не отключает никакой другой звук.
Как мне этого добиться?В настоящее время я устанавливаю свою AVAudioSession следующим образом (я устанавливаю ее в инициализаторе моего класса проигрывателя будильника, экземпляр которого у меня есть в моем AppDelegate):
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback, with: .mixWithOthers)
try session.setActive(true)
} catch {
print("Failed to set audio session category. Error: \(error)")
}
РЕДАКТИРОВАТЬ: Подробнее о приложении Alarmy см. Также Приложение "Alarmy" может воспроизводить песню iTunes из фонового состояния ... Как?