• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 我无法在 tablecell 上暂停播放视频

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:17:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我曾经使用 avplayer 在 UITableViewCell 上加载视频。我可以在 UITableViewCell 上加载视频,但无法暂停/播放视频。我不能做任何基本的功能,比如增加/减少音量。请任何人帮我解决这个问题。 这是我的代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
    {

        let cell: FeedCell = tableView.dequeueReusableCell(withIdentifier: "VedioCell", for: indexPath) as! FeedCell

        let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
          player = AVPlayer(url: videoURL! as URL)
        let playerLayer = AVPlayerLayer(player: player)

        playerLayer.frame = CGRect(x:0, y: 0, width: UIScreen.main.bounds.width, height: 200)
       cell.PlayerView?.layer.addSublayer(playerLayer)
          player.play()

    return cell
    }

我在这里使用了avplayer,但我无法访问

提前致谢。



Best Answer-推荐答案


试试这个

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let cell: FeedCell = tableView.dequeueReusableCell(withIdentifier: "VedioCell", for: indexPath) as! FeedCell

        let player = playerArray[indexPath.row]
        let playerLayer = AVPlayerLayer(player: player)
        playerLayer.frame = CGRect(x:0, y: 0, width: UIScreen.main.bounds.width, height: 200)
       cell.PlayerView?.layer.addSublayer(playerLayer)

        cell.play.tag = indexPath.row

        cell.play.addTarget(self, action: #selector(GetUpdatesButtonTouched), for: .touchUpInside)


               return cell
    }


 @IBAction func GetUpdatesButtonTouched(_ sender: AnyObject) {

        if sender.currentTitle == "lay" {
            for i in 0..<10{
                currentPlayer=playerArray[i]
                currentPlayer.pause()
                print("tag: \(sender.tag)")
                print("tag: \(playerArray)")
                currentPlayer=playerArray[sender.tag]
                print("tag: \(currentPlayer)")
                //  handleVideoChageSlider(("" as AnyObject) as! UISlider)
                currentPlayer.play()

                sender.setTitle("ause", for: UIControlState.normal)

              //  let indexPath = tableView.indexPathForSelectedRow!
               let cell: FeedCell = tableView.cellForRow(at:sender.indexPath)as! FeedCell

                //print(currentCell.videoLabel.text)

                //cell.slider.tag=indexPath.row
                cell.slider.addTarget(self, action: #selector(handleVideoChageSlider), for:.valueChanged )

            }
        }
        else if sender.currentTitle == "ause"{
            for i in 0..<10{
                currentPlayer=playerArray[i]
                currentPlayer.pause()
                sender.setTitle("lay", for: UIControlState.normal)
            }
        }
    }

关于ios - 我无法在 tablecell 上暂停播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41034365/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap