【问题标题】:How to play audio from live streaming in backgroung iOS Swift如何在后台 iOS Swift 中播放实时流中的音频
【发布时间】:2023-03-06 20:14:01
【问题描述】:

嘿,我正在使用MPMoviePlayerController 从实时流媒体播放 mp3,但当应用程序在后台运行时它不会播放。当手机被锁定时它会停止播放。请告诉我如何在后台播放实时流媒体音频并且手机被锁定。请尽快给我建议。

我使用MPMoviePlayerController 而不是AvAudioPlayer。因为AvAudioPlayer不支持网络流reference.

注意:

语言 - Swift 2.0

更新 1

终于用 AVPlayer 编码了。但它不会从 url 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 无法播放。

【问题讨论】:

    标签: ios swift avfoundation mpmovieplayercontroller background-audio


    【解决方案1】:

    您可以通过在“项目”>“功能”窗格中启用背景音频来做到这一点:

    然后点击播放。

    但不要使用MPMoviePlayerControllerAVAudioPlayer,而是使用AVPlayer

    【讨论】:

    • 我更新了问题,Avplayer 在我的情况下也不起作用。
    猜你喜欢
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2013-03-10
    相关资源
    最近更新 更多