2

海でライブストリーミングからオーディオを再生するにはどうすればMPMoviePlayerControllerを使用してライブストリーミングからmp3を再生していますが、アプリがバックグラウンドで実行されているとき、それは再生できません。電話がロックされると再生が停止します。私はバックグラウンドと電話の両方でライブストリーミングオーディオを再生する方法を教えてください。どうか私にお勧めします。はbackgroungのiOSスウィフト

私の代わりにAvAudioPlayerMPMoviePlayerControllerを使用しています。 - 2.0

UPDATE 1

スウィフト最後にAVPlayerでコーディング

言語:AvAudioPlayerのためには、reference.

NOTEストリーミングネットワークをサポートしていません。しかし、それは私のコードは、私はこのコードを実行すると、私はhere

から、このコードを使用

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") 
} 

されているURL This mp3 need to play in my app.から私のオーディオを再生しません。 ReadyToPlayを印刷します。しかし、mp3は再生されていません。

答えて

1

あなたのプロジェクト]> [機能]ペインで、バックグラウンドオーディオを有効にすることによってこれを行うことができます。

Capabilities pane in Xcode

その後、プレーを打ちます。

MPMoviePlayerControllerまたはAVAudioPlayerの代わりに、AVPlayerを使用してください。

私は質問を更新し
+0

、Avplayerも私の場合には動作しません。 – AvisSiva

関連する問題