本文介绍了在iOS中播放m3u8文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这个问题问了很长时间,但没有得到适当的解决,

我有一个m3u8文件在AVPlayer中不能工作,但如果我使用互联网上已经存在的其他m3u8文件,它在AVPlayer上工作得很好,这是我的代码

func playVideo() {
    let videoURL = URL(string: "https://architectsummit.s3.us-east-2.amazonaws.com/hls/playlist-with-vtt.m3u8")
    let player = AVPlayer(url: videoURL!)
    var playerViewController = AVPlayerViewController()
    playerViewController.player = player
    DispatchQueue.main.async {
        self.present(playerViewController, animated: true) {
            playerViewController.player!.play()
        }
    }
}      

在上面的代码中我使用的是我们开发人员提供的m3u8文件,但如果我使用上面代码中的URL‘https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8’,视频正在播放问题所在,任何人都可以帮助我。

推荐答案

我在浏览器中打开了.m3u8链接,但正在下载的清单错误。清单响应为

#EXTM3U
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",URI=vtt_en.m3u8 
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=864000,SUBTITLES="subs" 
                hls-medium.m3u8

并且清单的格式必须类似于this

服务器.m3u8文件不包含任何播放列表

另外,因为您使用Amazon,所以可以查看Amazon的一些示例page

这篇关于在iOS中播放m3u8文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 19:10