是否有iOS专用的exoplayer可以播放视频?
或者有人可以帮助我知道TikTok如何流式传输视频?它使用哪个视频播放器?我正在尝试从Firebase数据库流式传输应用程序中的视频,我使用的是Swift,但一直坚持选择正确的流式传输视频方式。有人可以帮我还是告诉我如何开始?
答案 0 :(得分:2)
iOS中的本机播放器是AVPlayer
与Google的ExoPlayer是Android中的常用默认设置相同,AvPlayer是iOS中的常用默认设置,您可以使用它来播放流式视频,对于Apple设备,该视频通常采用HLS .m3u8文件流格式。 Android设备的流通常是DASH .mpd文件流格式。
这时,Apple还为包括iOS在内的各种设备添加了新的UI框架-如果您正在使用它,则值得搜索一些AVPlayer集成的好示例,例如:
https://medium.com/@chris.mash/avplayer-swiftui-b87af6d0553
如果您使用的是更传统的UIKit,则Apple提供了一些简单的示例可供您测试,将您的测试代码替换为以下代码(来自:https://developer.apple.com/documentation/avfoundation/media_assets_playback_and_editing/creating_a_basic_video_player_ios_and_tvos?language=objc):
@IBAction func playVideo(_ sender: UIButton) {
//Substitute your video stream URL here to test
guard let url = URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8") else {
return
}
// Create an AVPlayer, passing it the HTTP Live Streaming URL.
let player = AVPlayer(url: url)
// Create a new AVPlayerViewController and pass it a reference to the player.
let controller = AVPlayerViewController()
controller.player = player
// Modally present the player and call the player's play() method when complete.
present(controller, animated: true) {
player.play()
}
}