我有一个简短的mp4视频文件,我已经添加到我目前的Xcode6测试项目中.

I want to play the video in my app.

经过几个小时的搜索,我找不到任何有帮助的东西.有没有办法通过Swift实现这一点,或者你必须使用Objective-C?

推荐答案

当然,您可以使用SWIFT!

1.添加视频文件

将视频(我们称其为video.m4v)添加到您的Xcode项目中

2.判断您的视频是否已进入Bundle 包

打开Project Navigatorcmd+1

Then select your project root > your Target > Build Phases > Copy Bundle Resources.

你的录像带MUST在这里.如果不是,则应使用加号按钮进行添加

enter image description here

3.代码

打开视图控制器并编写以下代码.

import UIKit
import AVKit
import AVFoundation

class ViewController: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        playVideo()
    }

    private func playVideo() {
        guard let path = Bundle.main.path(forResource: "video", ofType:"m4v") else {
            debugPrint("video.m4v not found")
            return
        }
        let player = AVPlayer(url: URL(fileURLWithPath: path))
        let playerController = AVPlayerViewController()
        playerController.player = player
        present(playerController, animated: true) {
            player.play()
        }
    }
}

Ios相关问答推荐

SwiftUI文本编辑器内部滚动填充,无需文本裁剪

iPhone:iOS 17.4中没有气压数据

避免从CoreData加载图像列表时出现SwiftUI挂起

SwiftUI绑定到特定的一个或多个枚举 case

如何使用Xcode15.1在iMessage扩展模块中显示贴纸

如果没有等待,SWIFT Async让任务抛出取消异常

如何使用 SwiftData 从列表中删除子项目?

mapView swift 导致警告有网格错误

iOS上从谷歌云存储API不断收到网络连接已丢失的错误信息

通过函数使用 Gesture 时,键入任何视图不能符合视图

无法为 Flutter 项目构建 ipa [CocoaPods 找不到 pod "GoogleAppMeasurement" 的兼容版本:]

如何从 scendelegate 打开我的标签栏控制器

setNeedsLayout 和 setNeedsDisplay

CocoaPods 找不到 podFirebase/Core的兼容版本 | cloud_firestore, Flutter

Swift 错误:在其自己的初始值中使用的变量

使用 convertPoint 获取父 UIView 内的相对位置

是否可以在 iOS 9 上让您的 iPad 应用退出多任务处理?

如何缩小 UIImage 并使其同时变得清晰/锐利而不是模糊?

从 Swift 转换为 Objective-c 的工具

在 NSUserDefaults 中存储值是否有任何限制?