在应用程序中将 Youtube 视频保存到 iPhone

2023-11-20

在应用程序中播放 Youtube 视频非常简单,并且有详细的文档记录。

这样做有两个问题:

  1. 关闭 Youtube 播放器后,如果用户想再次播放,则必须再次等待在线流媒体
  2. 无法离线播放(在家加载视频以便在路上观看)

有没有人有代码:

  1. 下载 Youtube 视频到文档文件夹并显示下载进度
  2. 通过从文档文件夹加载文件来播放下载的视频(意味着即使未连接到互联网)

要从 YouTube 下载视频:

  1. 通过 YouTube API 或任何其他方法获取要下载的 URL。
  2. 创建一个NS输出流 or NS文件句柄在临时文件上打开(在NSTemporaryDirectory()或文档目录中的临时命名文件)。
  3. 设置进度条以及您需要执行的任何其他操作。
  4. 分配并启动 NSURLConnection 以从 URL 获取文件。不使用sendSynchronousRequest:returningResponse:error:, 当然。
  5. In the connection:didReceiveResponse:委托方法,读出要下载的数据长度,以便正确更新进度条。
  6. In the connection:didReceiveData:委托方法,将数据写入输出流/文件句柄并根据需要更新进度条。
  7. In connectionDidFinishLoading: or connection:didFailWithError:,关闭输出流/文件句柄并根据需要重命名或删除临时文件。

要播放它,只需使用 NSURL 即可fileURLWithPath:创建一个指向文档目录中本地文件的 URL,并像播放任何远程视频一样播放它。

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

在应用程序中将 Youtube 视频保存到 iPhone 的相关文章

随机推荐

  • 在 django 模板中包含 javascript 的最佳实践

    以前我曾经在模板中这样做过 但这会导致所有js代码都显示在页面源上 我的模板中没有使用任何 Form 那么我可以使用 Media 类来添加 js 吗 我应该只使用像往常一样 没有include模板标签 Django includetempl
  • Rails 7 资产管道 SassC::SyntaxError 与 Tailwind

    我正在努力将一个新的 Rails 7 项目部署到生产环境 尝试使用 Heroku 和 Render com 但在构建过程中出现以下错误 tailwindcss i app assets stylesheets application tai
  • 如何从 loadContent() 将 html 和 javascript 加载到 webengine 中?

    有人可以提供一些关于如何从 loadContent 将以下内容加载到 webviewer 上的建议吗 http jsbin com aqupun 6 edit 我试图做这样的事情 但它似乎不起作用 谢谢 Scanner sc1 new Sc
  • 在特定上下文中调用 eval()

    我有以下 javaScript 类 A function a function eval A prototype b function arg1 arg2 do something 现在我们假设在 eval 中我传递的字符串包含使用一些参数
  • 无法使用 NetBeans 8.1 的 Gradle 支持插件构建 Gradle 项目

    我开始了一个学习项目来熟悉 Gradle Spring 和 Vaadin 到目前为止 我在一些 Spring 指南的帮助下成功创建了基本的 CRUD 功能 现在我想将该项目导入 NetBeans 我安装了Gradle 支持插件NetBean
  • 有没有办法省略 C 预处理器输出顶部的定义(行标记)?

    如果我处理以下内容test def输入文件与gcc C x c E test def define TEST foo int TEST 我希望输出只是 int foo 相反 我得到 1 test def 1
  • 存储静态类的内存分配 C#

    我读过一篇文章 它让我对内存分配感到困惑 其中指出 单例对象存储在堆上 而静态类则存储在堆上 存储在堆栈中 链接是 http www dotnetjalps com 2013 06 Static vs Singleton in Csharp
  • Woocommerce Rest API v2 中用户登录/注册的端点

    我已在 Woocommerce REST API 文档中完全搜索了用户登录 注册的端点 但无法找到它 谁能给我提供端点及其文档的链接 您可以通过多种方式实现这一目标 第一种方法是 它不仅适用于 WooCommerce 也适用于所有 Word
  • 使用 ADO.NET 实体框架从表中存在的值生成枚举

    我的要求是根据数据库表中存在的值创建一个枚举 我正在使用 ADO NET 实体框架模型 edmx 文件 你们中的任何一位都可以帮助我吗 使用 T4 模板可能要容易得多 这是一篇关于入门的非常好的文章 我下面的示例使用直接 SQL 连接 但正
  • 如何实现 ag-grid 行编辑的验证规则

    我目前有一个带有内联编辑的 html 表 它使用普通的 Angular Reactive Forms 包括很多验证规则 var formArray new FormArray this items map createItemFormGro
  • 如何将对象上下文传递给 jQuery.ajax JSONP 回调?

    当 ajax 提供程序预定义其回调时 我在将 javascript 对象上下文传递到 JSONP ajax 请求的回调处理程序时遇到问题 Flickr 是服务提供商 我将举一个简化的例子 function Person anId this
  • 无法对基本类型 char 调用 equals(char)

    我是编程新手 并试图完成一个基本的猜谜游戏 但我遇到了这个错误 需要一些帮助 因为我已将 猜测 设置为char 然后想将它与字符数组进行比较 但尝试了几种不同的方法 但还没有任何乐趣 它给了我底部 if 语句的错误 其中包含 guess e
  • 导入语句中的“show”和“as”有什么区别?

    有什么区别show and as在进口声明中 例如 有什么区别 import dart convert show JSON and import package google maps google maps dart as GoogleM
  • 获取每个二维数组的累积计数

    我有一般数据 例如字符串 np random seed 343 arr np sort np random randint 5 size 10 10 axis 1 astype str print arr 0 1 1 2 2 3 3 4 4
  • Xcode 6 中未创建 Swift to Objective-C 标头

    我最近一直致力于将 Swift 添加到现有项目中 以便以现实世界的方式进行尝试 将 Swift 源文件添加到项目后 我在获取 桥接头 即 Objective C 到 Swift 方面没有任何问题 But the Swift h应该公开 Sw
  • 没有记录的 Linq to Sql Sum

    我正在创建一种收集整个月累计总数的方法 问题是给定月份的某些项目可能不收费 因此不会返回任何行 我可以看到在没有数据的情况下这会如何出错 double fuelCost double from a in db EquipmentFuelLo
  • Django 脆皮表单不加载 CSS

    我在SO上看到这个问题 Django Cripy Forms 找不到 CSS 并遵循已接受答案中的所有建议 即 crispy forms 列在 INSTALLED APPS 下 我没有运行生产服务器 所以我不确定是否应用了collectst
  • 如何通过索引提取c#中字符串中的特定字符[重复]

    这个问题在这里已经有答案了 在 C 中 字符串就像数组 当您编写 str i 时 您可以在其中访问数组的 i 1 元素 类似于 C 中的内容 我不需要 indexOf 方法 因为这是不同的 我需要一些东西通过索引将字符带入字符串中 是的 您
  • 启动时将参数传递给 pyqt 线程

    当线程启动 start 时 有什么方法可以将参数传递给 QThread 吗 我在 stackoverflow 中找到了一个使用 pyqt 线程的示例 但我想知道如何传递参数 以防我希望工作线程处理我传递给其 run 函数的数据 我参考的帖子
  • 在应用程序中将 Youtube 视频保存到 iPhone

    在应用程序中播放 Youtube 视频非常简单 并且有详细的文档记录 这样做有两个问题 关闭 Youtube 播放器后 如果用户想再次播放 则必须再次等待在线流媒体 无法离线播放 在家加载视频以便在路上观看 有没有人有代码 下载 Youtu