• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:17:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

我的代码:

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我的播放器在播放。

我该怎么办?



Best Answer-推荐答案


出于某种原因,AVPlayer 不接受从 php Get 函数传递的文件。它需要与 .m3u8 扩展名的直接链接。你有两个选择:

1. 找到一种显示链接的方法,使其以 .m3u8 结尾
2. 如果您有权编辑 GET 方法和服务器,请查看 Sommer's solution
3. 如果您无权访问服务器,对我有用的一个巨大解决方法是下载链接提供的文件,然后使用 HTTP 服务器的实现(例如 GCDWebServer -是轻量级的并且仍然受支持)来广播文件并在 AVPlayer 中以 URL 的形式访问它。 Apple 不允许播放本地 m3u/m3u8 文件,因此您必须使用 HTTP Live Streaming (HLS),这基本上意味着文件必须存储在服务器上。
如有需要,可提供示例。

关于ios - 电视直播(.m8u3 文件)在浏览器中播放,但不在 Swift 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41025000/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap