在应用程序中播放 Youtube 视频很简单,而且有详细的文档记录。
这有两个问题:
- 关闭Youtube播放器后,如果用户想再次播放,必须等待在线播放
- 不能离线播放(在家加载视频在路上看)
有没有人有代码:
- 将 Youtube 视频下载到文档文件夹并显示下载进度
- 通过从文档文件夹加载文件来播放下载的视频(即使没有连接到互联网)
最佳答案
从 YouTube 下载视频:
- 通过 YouTube API 或任何其他方法获取要下载的 URL。
- 创建一个 NSOutputStream或 NSFileHandle在临时文件上打开(在
NSTemporaryDirectory()
或您的 Documents 目录中的临时命名文件)。 - 设置进度条以及您需要做的任何其他事情。
- 分配并启动一个 NSURLConnection 以从 URL 获取文件。当然,不要使用
sendSynchronousRequest:returningResponse:error:
。 - 在
connection:didReceiveResponse:
委托(delegate)方法中,读取要下载的数据长度,以便正确更新进度条。 - 在
connection:didReceiveData:
委托(delegate)方法中,将数据写入输出流/文件句柄并根据需要更新进度条。 - 在
connectionDidFinishLoading:
或connection:didFailWithError:
中,关闭输出流/文件句柄并根据需要重命名或删除临时文件。
要播放它,只需使用 NSURL 的 fileURLWithPath:
创建一个指向 Documents 目录中的本地文件的 URL,然后像播放任何远程视频一样播放它。
关于iphone - 在应用程序中将 Youtube 视频保存到 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087249/