2016-09-13 2 views
1

Мое приложение продолжает воспроизводить музыку, даже когда приложение находится в фоновом режиме, и я надеюсь отправить уведомление пользователю, когда AVPlayer будет переопределено (например, если пользователь использует другое приложение, которое превышает его).Swift - Как отправить уведомление, когда AVPlayer переопределяется в фоновом режиме?

В настоящее время мое решения использовать checkInTimer, который устанавливает notification и если приложение не CheckIN после й количества времени, то notification уходит, но если он CheckIN удаляют уведомления и устанавливает еще один , Но это решение отстой.

Любые идеи?

ответ

3

Вы должны наблюдать audio interruptions:

import AVFoundation 

func setup() { 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(myInterruptionHandler), name: AVAudioSessionInterruptionNotification, object: nil) 
} 

func myInterruptionHandler(notification: NSNotification) { 
    var info = notification.userInfo! 
    var intValue: UInt = 0 
    (info[AVAudioSessionInterruptionTypeKey] as! NSValue).getValue(&intValue) 
    if let type = AVAudioSessionInterruptionType(rawValue: intValue) { 
     switch type { 
     case .Began: 
      // interruption began 
     case .Ended: 
      // interruption ended 
     } 
    } 
} 
+0

Это работает очень хорошо, спасибо! – Charles

Смежные вопросы