- SwiftUI 教程
- SwiftUI - 首页
- SwiftUI - 概述
- SwiftUI vs UIkit
- SwiftUI 环境
- SwiftUI - 环境设置
- SwiftUI - 基本组件
- SwiftUI - 构建第一个应用程序
- SwiftUI 视图
- SwiftUI - 视图
- SwiftUI - 自定义文本视图
- SwiftUI - 自定义图像视图
- SwiftUI - 堆栈
- SwiftUI 绘制形状
- SwiftUI - 形状
- SwiftUI - 绘制线条
- SwiftUI - 绘制矩形
- SwiftUI - 绘制圆角矩形
- SwiftUI - 绘制三角形
- SwiftUI - 绘制圆形
- SwiftUI - 绘制星形
- SwiftUI - 绘制多边形
- SwiftUI - 绘制饼图
- SwiftUI - 使用内置形状
- SwiftUI - 文本
- SwiftUI - 文本视图
- SwiftUI - 文本输入和输出
- SwiftUI - 颜色
- SwiftUI - 颜色
- SwiftUI - 颜色选择器
- SwiftUI - 渐变
- SwiftUI - 调整颜色
- SwiftUI - 效果
- SwiftUI - 效果
- SwiftUI - 混合效果
- SwiftUI - 模糊效果
- SwiftUI - 阴影效果
- SwiftUI - 悬停效果
- SwiftUI - 动画
- SwiftUI - 动画
- SwiftUI - 创建动画
- SwiftUI - 创建显式动画
- SwiftUI - 多个动画
- SwiftUI - 转场
- SwiftUI - 非对称转场
- SwiftUI - 自定义转场
- SwiftUI - 图像
- SwiftUI - 图像
- SwiftUI - 图像作为背景
- SwiftUI - 旋转图像
- SwiftUI - 媒体
- SwiftUI - 视图布局
- SwiftUI - 视图布局
- SwiftUI - 视图大小
- SwiftUI - 视图间距
- SwiftUI - 视图填充
- SwiftUI - 列表和表格
- SwiftUI - 列表
- SwiftUI - 静态列表
- SwiftUI - 动态列表
- SwiftUI - 自定义列表
- SwiftUI - 表格
- SwiftUI - 表单
- SwiftUI - 表单
- SwiftUI - 将表单分解成多个部分
- SwiftUI 有用资源
- SwiftUI - 有用资源
- SwiftUI - 讨论
SwiftUI - 媒体
在 SwiftUI 中,播放视频是 UI 中最重要的组件之一。它增强了用户体验,并使 UI 更加吸引人。因此,从 iOS 14 开始,Apple 引入了 VideoPlayer 组件来在应用程序中播放视频。此视图在当前视图或我们想要的视图中提供视频播放器,并且能够显示来自 URL、本地或远程的视频。
SwiftUI 中的 VideoPlayer 视图
VideoPlayer 视图用于在指定的视图中添加视频播放器以显示短视频、电影等。它可以显示视频。
语法
以下是语法:
VideoPlayer(player: AVplayer?, videoOverlay:() -> VideoOverlay)
参数
此视图使用以下参数:
player: 它显示一个用于显示视听数据的播放器。
videoOverlay: 此闭包返回一个位于播放器视频之上的视图。它具有交互性,但位于系统提供的播放控件下方,并且只能获取未处理的事件。
在 SwiftUI 中添加视频播放器的步骤
要将视频添加到应用程序,我们必须按照以下步骤操作:
步骤 1:打开 Xcode
打开 Xcode 并创建一个新项目。
步骤 2:将视频添加到 Xcode
现在,要在 Xcode 项目中使用视频,我们必须首先将该视频添加到项目文件夹中。要添加视频,请转到导航器并将视频拖放到项目文件夹中。
步骤 3:导入 AVKit
要将媒体播放器添加到项目中,我们必须首先导入 AVKit 库。AVKit 是一个用于处理视听媒体的特殊框架。它提供了一套完整的控件来处理视听媒体,包括导航、画中画支持、字幕、隐藏式字幕等。
import AVKit
步骤 5:创建视频的 URL
将视频添加到项目文件夹后,现在我们必须创建图像的 URL,以便我们可以使用该 URL 在视频播放器中调用它。因此,我们可以使用 url(forResource:withExtension) 方法创建视频的 URL。
let mediaURL: URL? = Bundle.main.url(forResource: "multipleAnimation3", withExtension: "mov")
步骤 6:使用 VideoPlayer
现在,我们在 ContentView 的 body 部分使用 VideoPlayer 以在屏幕上显示视频播放器。
VideoPlayer(player: AVplayer?, videoOverlay:() -> VideoOverlay)
自定义视频播放器
在 SwiftUI 中,我们可以使用以下修饰符自定义视频播放器的外观:
方法 | 描述 |
---|---|
frame() | 用于调整视频播放器的大小。 |
background() | 用于设置视频播放器后面视图的背景颜色。 |
padding() | 用于在播放器或给定控件周围添加空间。这可以更有效地定义播放器的位置。 |
onAppear() | 插入在给定视图出现之前执行的操作。 |
onDisappear() | 插入在给定视图消失之前执行的操作。 |
fullScreenCover() | 用于尽可能多地覆盖视频播放器的屏幕。 |
offset() | 用于调整视频播放器的位置。 |
示例
通过以下示例,我们将了解如何使用视频播放器:
示例 1
以下 SwiftUI 程序用于在视图中插入媒体播放器。
import SwiftUI import AVKit struct ContentView: View { let mediaURL: URL? = Bundle.main.url(forResource: "multipleAnimation3", withExtension: "mov") var body: some View { ZStack{ if let url = mediaURL{ VideoPlayer(player: AVPlayer(url: url)) }else{ Text("Not Found") } } } } #Preview { ContentView() }
输出
示例 2
在以下 SwiftUI 程序中,我们将从远程 URL 获取视频。
import SwiftUI import AVKit struct ContentView: View { let mediaURL: URL? = URL(string: "https://www.youtube.com/watch?v=eGtV-sZ1wmw") var body: some View { ZStack{ if let url = mediaURL{ VideoPlayer(player: AVPlayer(url: url)) }else{ Text("Not Found").foregroundStyle(.white) } } } } #Preview { ContentView() }
输出
示例 3
在以下 SwiftUI 程序中,我们将自定义视频播放器。
import SwiftUI import AVKit struct ContentView: View { let mediaURL: URL? = Bundle.main.url(forResource: "multipleAnimation3", withExtension: "mov") var body: some View { ZStack{ if let url = mediaURL{ VideoPlayer(player: AVPlayer(url: url), videoOverlay: {Text("NEW VIDEO").font(.title).foregroundStyle(.red).bold() .padding(.top)}) .frame(width: 380, height: 300) }else{ Text("Not Found") } } } } #Preview { ContentView() }
输出