菜鸟教程小白 发表于 2022-12-11 18:17:50

ios - 电视直播(.m8u3 文件)在浏览器中播放,但不在 Swift 应用程序中


                                            <p><p>我正在使用 Swift 开发直播电视应用,但我的 channel 文件 URL 无法播放。</p>

<p>我的代码:</p>

<pre><code>override func viewDidLoad() {
    super.viewDidLoad()

    if let url = URL(string: &#34;http://biwsat.com:8080/get.php?username=eYIvPmJeT2&amp;password=3331jALAKY&amp;type=m3u&amp;output=ts&#34;){
      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()
    }
}
</code></pre>

<p>如果我使用此链接:<a href="http://devstreaming.apple.com/videos/wwdc/2016/102w0bsn0ge83qfv7za/102/hls_vod_mvp.m3u8" rel="noreferrer noopener nofollow">http://devstreaming.apple.com/videos/wwdc/2016/102w0bsn0ge83qfv7za/102/hls_vod_mvp.m3u8</a>我的播放器在播放。</p>

<p>我该怎么办?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>出于某种原因,AVPlayer 不接受从 php Get 函数传递的文件。它需要与 .m3u8 扩展名的直接链接。你有两个选择:
<br/><br/>
<b>1.</b> 找到一种显示链接的方法,使其以 .m3u8 结尾
<br/>
<b>2.</b> 如果您有权编辑 GET 方法和服务器,请查看 <a href="https://stackoverflow.com/a/41080374/2551645" rel="noreferrer noopener nofollow">Sommer&#39;s solution</a>
<br/>
<b>3.</b> 如果您无权访问服务器,对我有用的一个巨大解决方法是下载链接提供的文件,然后使用 HTTP 服务器的实现(例如 <a href="https://github.com/swisspol/GCDWebServer" rel="noreferrer noopener nofollow">GCDWebServer</a> -是轻量级的并且仍然受支持)来广播文件并在 AVPlayer 中以 URL 的形式访问它。 Apple 不允许播放本地 m3u/m3u8 文件,因此您必须使用 HTTP Live Streaming (HLS),这基本上意味着文件必须存储在服务器上。
<br/>
如有需要,可提供示例。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 电视直播(.m8u3 文件)在浏览器中播放,但不在 Swift 应用程序中,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41025000/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41025000/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 电视直播(.m8u3 文件)在浏览器中播放,但不在 Swift 应用程序中