使用AVPlayer不在iOS中播放的实时流11

问题描述:

我想从远程URL流式传输音乐。我正在尝试在iOS 11中运行此操作,但它不会播放音乐。使用AVPlayer不在iOS中播放的实时流11

的ViewController

var session = AVAudioSession.sharedInstance() 

var LQPlayer: AVPlayer? 
let LOW_URL = URL(string: "http://someLInk.pls")! // not an original url provided at this time. 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.avPlayerSetup() 
    } 

    func avPlayerSetup() { 
     do { 
      try session.setCategory(AVAudioSessionCategoryPlayback) 
      try session.overrideOutputAudioPort(.none) 
      try session.setActive(true) 
     } catch { 
      print("AVPlayer setup error \(error.localizedDescription)") 
     } 
    } 

    func initPlayer() { 
      LQPlayer = AVPlayer(url: LOW_URL) 
      print("player allocated") 
    } 

    func deAllocPlayer() { 
      LQPlayer = nil 
      print("player deallocated") 
    } 

    @IBAction func playBtn(_ sender: Any) { 
     initPlayer() 
     LQPlayer?.play() 
    } 

    @IBAction func pauseBtn(_ sender: Any) { 
     LQPlayer?.pause() 
     deAllocPlayer() 
    } 
} 

我设置允许任意负载是在info.plist中。
上面的代码我给出的URL是虚拟的。实际的网址工作正常。

+0

是它显示在日志中的任何错误? –

+0

使用RTMP或HLS进行直播? –

+1

我认为这是HLS – Alwin

工作守则与实时视频流

@IBOutlet weak var player_View: UIView! 
    var LQPlayer: AVPlayer? 
    let LOW_URL = URL(string:"http://www.streambox.fr/playlists/test_001/stream.m3u8")! 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.avPlayerSetup() 

     LQPlayer = AVPlayer.init(url: LOW_URL) 
     let avPlayerView = AVPlayerViewController() 
     avPlayerView.view.frame = self.player_View.bounds 
     avPlayerView.player = LQPlayer 

     self.player_View.addSubview(avPlayerView.view) 

    } 

    func avPlayerSetup() { 

     do { 
      try audioSession.setCategory(AVAudioSessionCategoryPlayback) 
      try audioSession.overrideOutputAudioPort(AVAudioSessionPortOverride.speaker) 
      try audioSession.setActive(true) 
     } catch { 
      print("AVPlayer setup error \(error.localizedDescription)") 
     } 

    } 

    func initPlayer() { 
     LQPlayer = AVPlayer(url:LOW_URL) 
     print("player allocated") 
    } 

    func deAllocPlayer() { 
     LQPlayer = nil 
     print("player deallocated") 
    } 

    @IBAction func playBtn(_ sender: Any) { 
    // initPlayer() 
     LQPlayer?.play() 
    } 

    @IBAction func pauseBtn(_ sender: Any) { 
     LQPlayer?.pause() 
     deAllocPlayer() 
    } 
+0

对不起在URL中的问题... :( – Alwin

+0

是在Url中,很高兴帮助你 –