Hai我正在使用MPMoviePlayerController
通过直播播放mp3,但当应用在后台运行时,它不会播放。当手机锁定时它会停止播放。请告诉我如何在后台播放实时流媒体音频和手机锁定。请尽快建议我。
我使用MPMoviePlayerController
代替AvAudioPlayer
。因为AvAudioPlayer
不支持网络流reference.
注意:
语言 - Swift 2.0
更新1
最后用AVPlayer编码。但它没有从网址This mp3 need to play in my app.播放我的音频我的代码是
override func viewDidLoad() {
audioUrl = NSURL(string: "http://www.raagam.co/4256s5f46ht4he4r6/2016/Achcham%20Enbathu%20Madamaiyada/Thalli%20Pogathey.mp3")!
let avAsset = AVURLAsset(URL: audioUrl)
let avPlayerItem = AVPlayerItem(asset: avAsset)
avPlayer = AVPlayer(playerItem: avPlayerItem)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.playerItemDidReachEnd), name: AVPlayerItemDidPlayToEndTimeNotification, object: avPlayer.currentItem)
avPlayer.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions.New, context: nil)
super.viewDidLoad()
}
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if (object!.isEqual(avPlayer) && keyPath=="status"){
print("Observer")
if avPlayer.status == AVPlayerStatus.ReadyToPlay{
print("ReadyToPlay")
avPlayer.play();
}else if avPlayer.status == AVPlayerStatus.Failed{
print("Failed")
}else if avPlayer.status == AVPlayerStatus.Unknown{
print("Unknown")
}
}
}
func playerItemDidReachEnd(){
print("Finished")
}
我使用here
中的代码当我运行此代码时。它打印 ReadyToPlay 。但是mp3没有播放。