在 iOS 中播放 m3u8 文件
play m3u8 file in iOS
我知道这个问题问了很多时间但没有得到正确的解决方案,
我有一个 m3u8 文件,它在 AVPlayer 中不起作用,但如果我使用其他已经在 Internet 上与 AVPlayer 一起工作的 m3u8 文件,这是我的代码
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 link 并且正在下载的清单是错误的。
清单响应是
#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 文件不包含任何播放列表
另外,因为您使用亚马逊,所以您可以查看亚马逊的一些示例 page
我知道这个问题问了很多时间但没有得到正确的解决方案,
我有一个 m3u8 文件,它在 AVPlayer 中不起作用,但如果我使用其他已经在 Internet 上与 AVPlayer 一起工作的 m3u8 文件,这是我的代码
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 link 并且正在下载的清单是错误的。 清单响应是
#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 文件不包含任何播放列表
另外,因为您使用亚马逊,所以您可以查看亚马逊的一些示例 page