2016-12-07 43 views
2

Swiftを使用してライブストリーミングテレビアプリケーションを開発していますが、チャンネルファイルURLが再生されません。TVライブストリーミング(.m8u3ファイル)はブラウザで再生されますが、Swiftアプリでは再生されません

マイコード:

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let url = URL(string: "http://biwsat.com:8080/get.php?username=eYIvPmJeT2&password=3331jALAKY&type=m3u&output=ts"){ 
     let player = AVPlayer(url: url) 
     let controller=AVPlayerViewController() 
     controller.player=player 
     controller.view.frame = self.view.frame 
     self.view.addSubview(controller.view) 
     self.addChildViewController(controller) 
     player.play() 
    } 
} 

私は、このリンクを使用する場合:http://devstreaming.apple.com/videos/wwdc/2016/102w0bsn0ge83qfv7za/102/hls_vod_mvp.m3u8私のプレイヤーが再生されます。

どうすればよいですか?

+0

あなたのビデオファイルは、おそらくAVPlayerでサポートされていない形式になっています。どの形式がサポートされているかについては、ドキュメントをご覧ください。 – EmilioPelaez

答えて

0

AVPlayerは何らかの理由で、PHP Get関数から渡されたファイルを受け入れません。 .m3u8の拡張機能との直接のリンクが必要です。次の2つの選択肢があります:あなたはGETメソッドとサーバーの編集へのアクセス権を持っている場合、それは.m3u8
で終わるよう

1.リンクを提示する方法を見つけると、Sommer's solution をチェックアウト
3.サーバーにアクセスできない場合は、リンクから提供されたファイルをダウンロードしてから、HTTPサーバーの実装を使用してください(例:GCDWebServer - 軽量でありながらサポートされています)を使用してファイルをブロードキャストし、AVPlayerのURLとしてアクセスします。 Appleはローカルm3u/m3u8ファイルの再生を許可していないため、HTTPライブストリーミング(HLS)を使用する必要があります。これは基本的にファイルをサーバーに保存する必要があることを意味します。
例は必要に応じて提供することができます。

関連する問題