2016-12-07 1 views
0

AVFoundation을 가져 왔고 오디오를 내 응용 프로그램에 추가했지만 응용 프로그램이 백그라운드 모드에 들어가면 오디오가 아닙니다. 중지 viewDidLoad에서AVFoundation을 가져 왔고 오디오를 내 응용 프로그램에 추가했지만 응용 프로그램이 백그라운드 모드에 들어가면 오디오가 멈추지 않습니다

var backgroundMusic: AVAudioPlayer? = { 
    guard let url = Bundle.main.url(forResource: "Mining by Moonlight", withExtension: "mp3") else { 
     return nil 
    } 
    do { 
     let player = try AVAudioPlayer(contentsOf: url) 
     player.numberOfLoops = -1 
     return player 
    } catch { 
     return nil 
    } 
}() 

코드입니다 :

backgroundMusic?.prepareToPlay() 

backgroundMusic?.play() 

이 사람이 나를 도울 수 있습니까?

+0

avAudioPlayer의 전역 변수를 만들었습니까? 그렇다면 appDelegate 클래스에서 audioplayer를 만들고 중지하십시오. ApplicationDidEnterInBackground ... 나는 희망합니다 ..... –

답변

0

이 방법을 사용하는 것보다 앱은 백그라운드에서 실행하는 경우 오디오 및 에어 플레이가

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector(“stopSong:"), name:UIApplicationDidEnterBackgroundNotification, object: nil) 

컨트롤러 클래스에서 백그라운드 작업

0

사용 NSNotificationCenter에 사용할 수 없습니다 있는지 확인

func stopSong(notification : NSNotification) { 
    backgroundMusic?.stop() 
    } 
관련 문제