如何在选择行方法collectionview中播放视频

Posted

技术标签:

【中文标题】如何在选择行方法collectionview中播放视频【英文标题】:How to play video in did select row method collectionview 【发布时间】:2019-03-21 07:07:03 【问题描述】:

我在 Collection 视图中编写以下代码确实选择了行,但是当我当时选择单元格时出现以下错误 Error_Image In simulator

 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) 
        if collectionView == faQs_collectionview
        
            let fileURL =  videourls[indexPath.item]

            let playerviewcontroller = AVPlayerViewController()
            var playerview = AVPlayer()

            playerview = AVPlayer(url: fileURL as URL)

            playerviewcontroller.player = playerview

            self.present(playerviewcontroller, animated: true)

                playerviewcontroller.player?.play()
            
        else

        

    

【问题讨论】:

检查您的视频文件网址格式是否正确 我的视频格式是 var videourls:[URL] = [URL(string: "youtube.com/…)! as URL, URL(string: "youtube.com/…)!, URL(string: "@ 987654324@)!, URL(string: "youtube.com/…)!, URL(string: "youtube.com/… 【参考方案1】:

通过查看您提供的链接,您似乎正在尝试在 AVPlayer 中播放 YouTube 视频

AVPlayer 用于播放媒体文件,例如,如果您在服务器上的某处有视频或音频文件,并且您提供了到 AVPlayer 的链接,它就会播放。 但 YouTube 链接不是视频文件。

您必须添加在 webviews 中播放它们,如下所示

class MyYTVideoPlayer: UIViewController 
    @IBOutlet weak var wv: UIWebView!
    var videoId:String
    override func viewDidLoad() 
        super.viewDidLoad()

        guard
            let youtubeURL = URL(string: "https://www.youtube.com/embed/\(videoId)")
            else  return 
        wv.loadRequest( URLRequest(url: youtubeURL) )
    

或从here 实现 YouTube 播放器

【讨论】:

它工作正常,但在模拟器中有声音,但没有真正的设备声音 确保在真实设备中,铃声已打开,检查音量。我会尝试在设备上运行代码,然后回复您。 重新检查,铃声必须打开,而不是静音。

以上是关于如何在选择行方法collectionview中播放视频的主要内容,如果未能解决你的问题,请参考以下文章

在 UICollectionViewCell 中播放视频。视频播放正常,但在 collectionView 上有滚动性能

点击 CollectionView Cell 按钮以播放来自特定阵列的声音并从特定阵列复制电影

如何在 CollectionView 中选择单元格图像然后转到 ViewController

更新集合视图项

如何以编程方式选择collectionview中的项目?

如何在 CollectionView 中显示从照片库或相机中选择的图像?画廊视图