使用swift 3点击单元格时如何在Avplayer中播放来自url的视频
Posted
技术标签:
【中文标题】使用swift 3点击单元格时如何在Avplayer中播放来自url的视频【英文标题】:How to play videos from url in Avplayer when a cell is tapped using swift 3 【发布时间】:2017-04-06 09:15:18 【问题描述】:我正在尝试使用 AVPlayer 从 UITableViewCell 中的 url 播放视频。我的意思是当 VideoTableviewCell 具有视频介绍图像和该视频的标签:标题时,我希望视频播放。当该视频图像点击单元格时,来自 url 的视频将在 Avplayer 控制器中播放。 我的问题是我无法获取点击了哪个单元格图像以及如何在另一个 ViewController(AVplayerViewController)中播放相应的视频 url。 谁能帮助我了解使用什么来识别和连接被点击的图像以及如何在另一个视图控制器中播放视频。
【问题讨论】:
【参考方案1】:在 Swift 4.2
您需要实现 didSelectRowAt 和 AVKit
首先你需要导入 AV Kit
import AVKit
接下来,从 didSelectRowAt 中的索引单元格获取 url
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
if let url = URL(string: yourArrayURL[indexPath.row])
let player = AVPlayer(url: url)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
present(playerViewController, animated: true)
player.play()
在我的情况下,它的工作,我希望它也适合你
【讨论】:
【参考方案2】:实施
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
然后在这个里面:
if let cell = tableView.cellForRow(at: indexPath) as? VideoTableviewCell
// cell.AVplayer.play
这是一个内置的 UITableView 方法,可以告诉您何时点击了单个单元格。
【讨论】:
这在 CollectionCell 中也对我有用。谢谢。有没有办法在第二次点击时停止播放视频?以上是关于使用swift 3点击单元格时如何在Avplayer中播放来自url的视频的主要内容,如果未能解决你的问题,请参考以下文章
swift - 在UITableView中选择单元格时如何更改按钮名称?
Swift:点击一个单元格时更改所有 UITableViewCells 的文本颜色
点击该单元格时,如何访问 uicollectionviewcell 内标签的文本属性? (迅速)