📜  如何在 swift 中播放视频(1)

📅  最后修改于: 2023-12-03 15:38:26.939000             🧑  作者: Mango

如何在 Swift 中播放视频

在 Swift 中,我们可以使用 AVFoundation 框架来播放视频。

准备工作

首先需要导入 AVFoundation 框架:

import AVFoundation

然后需要创建一个 AVPlayer 对象和一个 AVPlayerLayer 对象:

let player = AVPlayer()
let playerLayer = AVPlayerLayer(player: player)
播放本地视频
获取视频文件地址

首先需要获取本地视频文件的地址。如果视频文件是在项目中的话,可以使用以下代码获取文件路径:

guard let path = Bundle.main.path(forResource: "video_name", ofType: "mp4") else { return }
创建 AVPlayerItem 对象

然后需要创建一个 AVPlayerItem 对象来表示视频文件:

let url = URL(fileURLWithPath: path)
let playerItem = AVPlayerItem(url: url)
设置 player 的 playerItem 属性

最后将创建的 AVPlayerItem 对象赋给 player 的 playerItem 属性:

player.replaceCurrentItem(with: playerItem)
播放视频

最后,将 playerLayer 添加到需要播放视频的视图上,并播放视频:

playerLayer.frame = view.bounds
view.layer.addSublayer(playerLayer)
player.play()
播放网络视频
创建 AVPlayerItem 对象

首先需要创建一个 AVPlayerItem 对象来表示网络视频:

let url = URL(string: "https://example.com/video_name.mp4")!
let playerItem = AVPlayerItem(url: url)
设置 player 的 playerItem 属性

最后将创建的 AVPlayerItem 对象赋给 player 的 playerItem 属性:

player.replaceCurrentItem(with: playerItem)
播放视频

最后,将 playerLayer 添加到需要播放视频的视图上,并播放视频:

playerLayer.frame = view.bounds
view.layer.addSublayer(playerLayer)
player.play()
暂停和停止视频
暂停视频
player.pause()
停止视频
player.seek(to: CMTime.zero)
player.pause()
总结

以上就是在 Swift 中播放视频的方法。我们先创建一个 AVPlayer 对象和一个 AVPlayerLayer 对象,然后根据需要播放的视频文件类型创建 AVPlayerItem 对象,将创建的 AVPlayerItem 对象赋给 player 的 playerItem 属性,最后将 playerLayer 添加到需要播放视频的视图上,并播放视频。如果需要暂停或停止视频,我们可以使用 player 的 pause() 和 seek(to: CMTime.zero) 方法。