iOS Swift5 视频播放

news2024/12/26 12:31:40

文章目录

  • 1.截图
  • 2.代码
  • 3.导入本地文件

1.截图

请添加图片描述

请添加图片描述

2.代码

import UIKit
import AVKit
import AVFoundation

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
        
        // 创建按钮
        let button = UIButton(type: .system)
        button.frame = CGRect(x: 100, y: 100, width: 200, height: 50)
        button.setTitle("Play Video", for: .normal)
        button.backgroundColor = .systemBlue
        button.setTitleColor(.white, for: .normal)
        
        // 添加按钮的点击事件
        button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
        
        // 将按钮添加到视图中
        self.view.addSubview(button)
    }


    var playerViewController: AVPlayerViewController!
    var player: AVPlayer!


    @objc func buttonTapped() {
        //本地视频
        guard let localVideoURL = Bundle.main.url(forResource: "sample3", withExtension: "mp4") else {
            MyPrint("Invalid URL")
            return
        }
        // 创建AVPlayer
        player = AVPlayer(url: localVideoURL)

        // 创建AVPlayerViewController并设置player
        playerViewController = AVPlayerViewController()
        playerViewController.player = player
        present(playerViewController, animated: true) { [self] in
            player.play()
        }

    }

}

3.导入本地文件

请添加图片描述

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】程序填空题

假设顺序表的长度为 n 【插入操作】若在位序 1 处插入元素,则需要移动(n)个元素若在位序 n1 处插入元素,则需要移动(0)个元素若在位序 i (1≤i≤n1) 处插入元素,则需要移动(n-i1&…

stm32学习笔记---EXTI外部中断(理论部分)

目录 STM32的中断 NVIC的基本结构 中断的优先级 优先级分组 EXTI(Extern Interrupt)外部中断 支持的触发方式 支持的GPIO口 外部中断占用的通道 外部中断的触发响应方式 外部中断的基本结构 GPIO口的外设 AFIO中断引脚选择 EXTI边沿检测及控…

HCIP-数通 V1.0 培训教材总结01

HCIP-数通 V1.0 培训教材总结01 01 认识网络设备框式设备及其硬件模块盒式设备框式、盒式设备的区别网络设备逻辑架构网络设备对报文的处理流程 01 认识网络设备 框式设备及其硬件模块 S12700E-8 (S-switch,交换机) (8,业务槽位…

构建LangChain应用程序的示例代码:38、自主RAG的概念及其实现方法,使用LangChain和OpenAI工具从头开始构建一个结合检索和生成的系统

# 安装必要的库 ! pip install langchain_community tiktoken langchain-openai langchainhub chromadb langchain langgraph自主RAG (Self-RAG) 自主RAG是最近的一篇论文,介绍了一种用于主动RAG的有趣方法。 该框架训练单个任意的语言模型(如LLaMA2-7…

u盘sd卡格式化怎么恢复,3种恢复方法教学

u盘sd卡格式化怎么恢复,这是许多人在误操作后最关心的问题。我们会详细介绍五种有效的恢复方法,并且提供恢复原理的教学视频,帮助您轻松找回U盘和SD卡上被格式化的数据。 一. 数据存储与恢复的原理 1. U盘、移动硬盘、硬盘以及固态盘存储数据…

pgAdmin后台命令执行漏洞(CVE-2023-5002)

​ 我们可以看到针对于漏洞 CVE-2022-4223,官方做了一定的修复措施。 web\pgadmin\misc_init_.py#validate_binary_path ​ 首先是添加了 login_required​ 进行权限校验。在 Flask 框架中,login_required​ 装饰器通常与 Flask-Login 扩展一起使用。…

职场新宠:ONLYOFFICE——办公协作的得力助手

🎠前言 在快节奏的职场环境中,高效、便捷的办公软件成为每一位职场人士不可或缺的工作伙伴。当我们谈论职场办公软件时,许多人首先会想到Microsoft Office、wps等老牌软件。 然而,有一款宝藏的办公软件ONLYOFFICE,凭…

盘点延迟任务的11种实现方式

延迟任务在我们日常生活中比较常见,比如订单支付超时取消订单功能,又比如自动确定收货的功能等等。 所以本篇文章就来从实现到原理来盘点延迟任务的11种实现方式,这些方式并没有绝对的好坏之分,只是适用场景的不大相同。 1、Dela…

scapy修改TCP标志位

文章目录 TCP标志位scapy修改标志位设置标志位清除标志位示例 TCP标志位 TCP报文段结构如图所示 下面介绍一些重要的标志位: URG (Urgent): 紧急指针(Urgent Pointer)有效。当URG标志位设置为1时,表示TCP报文段中有紧急数据需要处…

用JavaScript实现了一个简单的图像坐标点标注工具

这段代码实现了一个简单的图像标注工具&#xff0c;允许用户在加载的图像上进行点选标注&#xff0c;并且通过右键确认一个点序列来形成一个多边形。 标注效果如下 实现代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"U…

景区智慧公厕系统作用:公厕管理轻松了,游客体验提高了

在快节奏的现代生活中&#xff0c;旅游已成为人们放松心情、探索世界的重要方式。而对于景区来说&#xff0c;提供优质的公共服务设施&#xff0c;尤其是公厕&#xff0c;是提升游客满意度和整体旅游体验的关键。然而&#xff0c;传统公厕管理方式往往难以满足日益增长的游客需…

Tomcat简介与安装

目录 一、Tomcat 简介 1、Tomcat好帮手---JDK 2、安装Tomcat & JDK 1、系统环境说明 2 、安装JDK 3、安装Tomcat 二、Tomcat目录介绍 1、tomcat主目录介绍 2、webapps目录介绍 3、Tomcat配置介绍&#xff08;conf&#xff09; 4、Tomcat的管理 5、tomcat 配置管…

【全资料】信息化建设全套资料获取(原件+实际项目参考)

软件开发从需求调研到项目验收需要一系列文档的支持&#xff0c;这些文档在项目的各个阶段发挥着重要的作用。本文将详细介绍这些文档及其作用。 一、需求调研 在软件开发的前期&#xff0c;进行需求调研是非常重要的。需求调研的主要目的是了解用户需求&#xff0c;包括功能需…

博图随机生成俄罗斯方块程序

一、程序结构 1.定义基础数据&#xff0c;俄罗斯方块图形共19中&#xff0c;使用WORD编码存储在数组内 2.添加随机生成int数值的FC函数块&#xff0c;生成1-19 的随机数 3.查找数组内图形显示在HMI画面上 二、程序 1.生成1-19 的随机数&#xff0c;并显示当前图形样式 2.生成按…

数智化浪潮下的零售品牌商品计划革新

在数字化和智能化交织的时代背景下&#xff0c;零售品牌的商品计划正在经历一场前所未有的革新。这场革新不仅改变了商品计划的方式和流程&#xff0c;更重塑了零售品牌的竞争格局和市场地位。 一、数智化&#xff1a;零售品牌的新引擎 在快速变化的市场环境中&#xff0c;零…

【经验分享】免费版虚拟机VMware Workstation Pro 17下载方式

【经验分享】免费版虚拟机VMware Workstation Pro 17下载方式 前言一、免费虚拟机下载方式二、 安装过程总结 前言 我真的是服了&#xff0c;现在的CSDN时效性为什么这么差了。都快一个月了还没有博主更新个人免费版虚拟机VMware Workstation Pro&#xff0c;甚至很多人还不知…

Excel 解析十六进制并查找

A1 格由多个人名及其考勤情况组成&#xff0c;比如&#xff0c;c 是十六进制的 1100&#xff0c;表示第 1、2 天到场&#xff0c;第 3、4 天缺席。目前只有 4 天的考勤。 AB1alice,c,bob,7,clara,a,mike,9/input: name and presence22/input: the day to be queried 要求根据…

【计算机体系结构】

第一章 计算机体系结构的基本概念 知识点 1.冯诺依曼描述的计算机的四个部分 2.指令驱动 3.存储程序计算机在体系结构上的主要特点 4.计算机体系结构的三个方面 5.计算机组成 6.计算机系统的多层次结构 7.翻译和解释 8.一种指令集结构可以有多种组成&#xff0c;同样一种组成可…

建筑监理工程师考试试题及答案,分享几个实用搜题和学习工具 #微信#知识分享

这些软件以其强大的搜索引擎和智能化的算法&#xff0c;为广大大学生提供了便捷、高效的解题方式。下面&#xff0c;让我们一起来了解几款备受大学生欢迎的搜题软件吧&#xff01; 1.彩虹搜题 这是个老公众号了 一款考试搜题神器&#xff0c;包含执业医师、财务会计、建筑消…