将本地视频添加到应用的最佳方式?

时间:2017-07-31 23:13:38

标签: ios video media

我正在开发一个教程应用,其中包含向您显示说明的视频。我想知道在应用程序上存储视频的最佳方法是什么,将视频直接存储在应用程序上或提供视频的URL并将其放入应用程序中?

3 个答案:

答案 0 :(得分:0)

<强> 1。添加视频文件

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

<强> 2。检查您的视频是否在Bundle

打开Project Navigator cmd + 1

然后选择您的项目根&gt;你的目标&gt;构建阶段&gt;复制捆绑资源。

你的视频必须在这里。如果不是,那么您应该使用加号按钮

添加它

第3。代码

打开View Controller并编写此代码。

导入UIKit 导入AVKit 导入AVFoundation

类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()
    }
}

}

答案 1 :(得分:0)

每种都有优点和缺点。

将视频与应用优势捆绑在一起:

  • 自包含,不需要连接
  • 易于测试
  • 不需要服务器端流媒体基础设施

提供用于流式传输视频的网址:

  • 应用分发后轻松更新视频 - 无需重新发布应用
  • 由于您没有捆绑视频,因此应用尺寸较小
  • 不使用应用程序存储来存储视频

还有一种混合方法,即应用程序没有视频,但在首次使用时会下载。您甚至可以让应用检查更改并下载更新版本。这仍然意味着您正在使用设备存储来存储视频。您还必须确保这符合App Store指南,并且不会将其视为从已审核版本更改应用程序。

答案 2 :(得分:0)

便宜且最好的方法是使用App细化。在您的捆绑中添加视频。将其添加到App thinning(在项目中 - 目标 - 资源标签)。

在集合视图或tableview中的应用程序中使用plist数组或Json数组显示视频缩略图(您将其存储在资源中)。当用户使用NSBundleResourceRequest单击任何单元格下载该特定视频时。获取下载URL并在AVPLayer中显示。