Приложение должно запустить звук в определенное время.Чтобы выбрать конкретное время, я использовал локальные уведомления.Пришло определенное время, и приложение находится на переднем плане, звук запускается, и даже когда я закрываю приложение (фон) или блокирую свой iPhone, звук продолжает воспроизводиться.Все идет нормально.Теперь я хочу: наступило ли определенное время, и приложение уже находится в фоновом режиме, или iPhone заблокирован, он все равно должен запустить звук.Для этого я включил Background Modes
, но ничего не изменилось.Я добавил mixWithOthers
в свой код, но ничего не происходит.Любые другие советы?
import AVFoundation
var player: AVAudioPlayer?
func playSound() {
guard let url = Bundle.main.url(forResource: "NameOfFile", withExtension: "mp3") else { return }
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback, mode: .default, options: AVAudioSession.CategoryOptions.mixWithOthers)
try AVAudioSession.sharedInstance().setActive(true)
player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)
guard let player = player else { return }
player.play()
print("Start...")
} catch let error {
print(error.localizedDescription)
}
}
Режимы фона: Снимок экрана .
Этот вопрос не является дубликатом.Я ищу решение для запуска звука, когда iPhone уже уже заблокирован / приложение находится на фоне до того, как звук начнется.Другой вопрос - продолжить аудио в фоновом режиме после start .