在像 instagram 这样的 tableview 中使用多个 AVPlayer

Posted

技术标签:

【中文标题】在像 instagram 这样的 tableview 中使用多个 AVPlayer【英文标题】:Using multiple AVPlayer in a tableview like instagram 【发布时间】:2015-02-01 14:39:42 【问题描述】:

我正在尝试在 tableview 单元格的每一行中实现一个 AVPlayer,但我没有找到任何好的文档。我想要一个像 Instagram 这样的时间线,但我不知道如何处理多个玩家和里面的手势。知道在哪里可以找到一些吗?

【问题讨论】:

显示你尝试过的东西(代码)并解释它做错了什么。您是否考虑过替代方法?单元格是否真的需要包含玩家,或者它们可以是带有点击检测以打开玩家的图像... 我尝试了很多不同的教程,但我没有找到如何将它处理成表格视图。单元格需要包含播放器。 【参考方案1】:

我建议不要让所有单元格都包含玩家。确实没有理由,因为您不会同时在屏幕上播放所有单元格(实际上我希望这不是计划)。

相反,我会让每个单元格只包含一个图像,最好是第一帧或每个视频的前几秒的某个位置。最好您已经拥有这些,但可以从视频中获取这些图像(单独的研究主题...)。

然后,您可以简单地等待用户点击单元格(或图像上的播放按钮),然后将单元格的内容转换到播放器而不是图像(并停止播放任何其他单元格)。这应该与所有单元格中的播放器看起来和工作基本相同,但需要更少的资源加载并允许更好的图像缓存。

【讨论】:

这听起来不错,但我不知道该怎么做。问题是我想做什么 instagram 应用程序,预加载电影并在用户看到它时立即播放,这种方法可以吗? 你可以在一个单元格在屏幕上显示一定时间时创建一个播放器(当代表被告知单元格显示时启动一个计时器,检查它在触发时是否仍然显示,杀死任何其他播放器)。我会先了解图像显示和用户交互的基础知识,然后再研究自动播放和防止多次播放问题...

以上是关于在像 instagram 这样的 tableview 中使用多个 AVPlayer的主要内容,如果未能解决你的问题,请参考以下文章

.and() 在像 HttpSecurity 这样的春季安全类中做了啥?有人帮我理解这个

如何在像犰狳这样的库中扩展一个类?

android如何在像GMail这样的webview中显示PopupMenu

在像 bittorrent 这样的点对点协议的情况下,NAT 遍历是如何工作的。

在像 bittorrent 这样的点对点协议的情况下,NAT 遍历是如何工作的。

在像python time.time()这样的javascript中获取时间[重复]