使用点播资源从资产目录获取视频

2024-05-15

我将标签“tokyo”归因于我的 .mp4 视频,并将其设置为在应用程序安装过程中已安装。

最初,我使用路径从我的资源加载它,但是现在它不同了,因为它位于资产目录中。

阅读文档后,我尝试了类似的操作:

NSBundleResourceRequest(tags: ["tokyo"]).beginAccessingResourcesWithCompletionHandler { (error) -> Void in
    let tokyoVideo = NSDataAsset(name: "tokyo")
}

要以 NSData 形式访问此视频,我可以使用:

tokyoVideo.data

但是,我使用的是 AVPlayer,它将参数作为 NSURL,而不是 NSData。

那么如何获取视频的 NSURL 呢? 资产目录仅用于存储数据吗?我应该使用它来存储我的视频,还是有更好的替代方案?


问题在于将 mp4 放入资产目录中。资源不必位于资产目录中即可作为按需资源进行访问。

将您的资源从目录移到工作区并标记它们,然后使用 NSBundleResourceRequest 的包属性

import UIKit

class ViewController: UIViewController {
    var bundleRequest = NSBundleResourceRequest(tags: [])

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let tags: Set<String>  = ["odr"]
        bundleRequest = NSBundleResourceRequest(tags: tags)

        bundleRequest.beginAccessingResourcesWithCompletionHandler { (error:NSError?) -> Void in
            if let e = error {
                print(e)
                return
            }
            NSOperationQueue.mainQueue().addOperationWithBlock({ () -> Void in
                if let url = self.bundleRequest.bundle.URLForResource("tokyo", withExtension: "mp4") {
                    //use the url to play the video with avplayer
                }

            })
        }
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用点播资源从资产目录获取视频 的相关文章

随机推荐

  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • Django - 隐藏内联标签

    如何在 Django 内联中隐藏标签 当我理解正确时 您可以通过添加属性将 verbose name 设置为模型中的空字符串 verbose name 到你的领域就像 street models CharField max length 5
  • MySQL 复制是双向的

    我们已经成功设置了 MySQL 文献中描述的主从复制 不过 我很好奇是否有人设置了双向复制 例如 如果安装了 Drupal 或 Wordpress 第一个 主 数据库服务器出现故障 第二个 从属 数据库服务器恢复正常 与此同时 用户不断进行
  • MUI DatePicker + date-fns 本地化问题

    当我使用MUI时出现这个问题日期选择器 with 本地化提供商 and 适配器日期Fns with 匈牙利 local
  • python dicttoxml 多次使用相同的键

    我正在尝试做如下所示的 xml
  • 如何在多个团队中安装bot而不将其添加到目录中?

    我刚刚使用 Microsoft 机器人框架在我的 slack 开发团队中创建了第一个 slack 机器人 现在我想将机器人添加到另一个团队进行测试 我的机器人不会供公众使用 仅在公司内部使用 我尝试使用 添加到 Slack 按钮将其添加到新
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • AVPlayer 不播放音频 - iOS 9,目标 - C

    我正在尝试从我的应用程序中的 URL 播放音频 iOS 8 中一切都按预期发生 模拟器和物理设备 对于 iOS 9 它可以在模拟器中运行 但在设备上 音频根本无法播放 出现流媒体 如果我单击播放 进度条还显示音频正在加载并播放 但没有声音
  • 计算特定产品类别的购物车商品数量

    我试图仅从 WooCommerce 中的特定产品类别获取购物车中的商品数量 我正在为一家酒厂做一个网站 它有酒精和非酒精产品 所有葡萄酒都属于 葡萄酒 主类别或类别 ID 34 其下有许多子类别和产品 对于属于此类别的任何商品 我需要知道此
  • IEnumerable.Except 不起作用,那么我该怎么办?

    我有一个 linq to sql 数据库 非常简单 我们有 3 个表 项目和用户 有一个名为 User Projects 的连接表将它们连接在一起 我已经有了一个获得的工作方法IEnumberable
  • 为 Logstash 中的新字段设置 Elasticsearch Analyzer

    通过使用GROK filter 我们可以向Logstash添加新字段 但是 我想知道如何为该特定字段设置分析器 例如 我有一个新的 id 字段 其中有一个字段 例如a b 但是 Elasticsearch 附带的普通分析器会将其分解为a a
  • 阻止通过 GET 传递“提交”按钮值?

    我正在尝试通过 GET 传递表单信息 这很重要 这样人们就可以将表单选择中过滤后的数据发送给其他人 问题是 使用下面的代码 它不仅传递过滤器信息 还传递提交表单值 如下所示 index php month filter Feb year f
  • Oracle - 获取星期几

    今天是星期二 为什么当我运行这个 SQL 语句时 它说今天不是星期二 SELECT CASE WHEN TO CHAR sysdate Day Tuesday THEN Its Tuesday ELSE Its Not Tuesday EN
  • 正则表达式将单词的开头和结尾与元音匹配

    我正在尝试以下操作Regex aeiou aeiou 但它不起作用 我测试了 abcda 并且不匹配 它应该只是 aeiou aeiou 额外的 您需要第二个字符是一个文字点 例如 a hello 但由于您的测试用例 abcda 不包含这样
  • 标准的能力

    我发现了一些使用标准的旧例子here http www serpentine com blog 2009 09 29 criterion a new benchmarking library for haskell 看起来好像早在 2009
  • 使用点播资源从资产目录获取视频

    我将标签 tokyo 归因于我的 mp4 视频 并将其设置为在应用程序安装过程中已安装 最初 我使用路径从我的资源加载它 但是现在它不同了 因为它位于资产目录中 阅读文档后 我尝试了类似的操作 NSBundleResourceRequest