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

标签 iphone objective-c youtube offline-mode

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

这有两个问题:

  1. 关闭Youtube播放器后,如果用户想再次播放,必须等待在线播放
  2. 不能离线播放(在家加载视频在路上看)

有没有人有代码:

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

最佳答案

从 YouTube 下载视频:

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

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

关于iphone - 在应用程序中将 Youtube 视频保存到 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087249/

相关文章:

iphone - 如何在纵向 View 中插入横向 subview ,就像 VEVO

ios - 在哪里放置用户登录与用户注销逻辑?

iphone - 有人用过 Buzz Andersen 的简单 iPhone 钥匙串(keychain)代码吗?

ios - 在 ios 的 opentok 上更改相机

objective-c - UITableView 背景只填充了一半?

ios - 如何使用UIActivityViewController在Facebook和Twitter中共享不同的文本?

audio - youtube音频的实时处理

email - 发送电子邮件给Google环聊用户

iphone - 困惑的 Interface Builder XIB 中的连接数据源和委托(delegate)

youtube - 如何通过 api 获取 youtube 推荐视频?