iOS Swift5 视频播放

文章目录

1.截图

2.代码

swift 复制代码
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.导入本地文件

相关推荐
EasyDSS29 分钟前
视频推流平台EasyDSS无人机推流技术打造大型安保巡逻监控新模式
音视频·无人机
2501_907136821 小时前
开源视频批量处理工具FFmpeg Batch AV Converter
ffmpeg·音视频·软件需求
z***y8622 小时前
Swift在iOS中的Xcode
ios·xcode·swift
EasyCVR2 小时前
从“看不见”到“看得清”:视频融合平台EasyCVR远程监控技术在沙尘暴交通监控中的应用
音视频
AirDroid_cn2 小时前
iOS 18 后台应用偷跑流量,如何限制?
macos·ios·cocoa
七牛云行业应用3 小时前
解决 AI 视频角色闪烁与时长限制:基于即梦/可灵的多模型 Pipeline 实战
人工智能·音视频·ai视频
明君879974 小时前
Flutter 图纸标注功能的实现:踩坑与架构设计
android·ios
Tiger Shi5 小时前
使用LIBOBS: 采集桌面,保存图片
ffmpeg·音视频·obs
江东小bug王5 小时前
深入理解 UINavigationController:生命周期、动画优化与性能调优
ios
别动哪条鱼6 小时前
AVAudioFifo
数据结构·ffmpeg·音视频