视频播放几个uitableView Cells ios

时间:2015-12-11 11:14:23

标签: ios swift uitableview brightcove avplayerviewcontroller

我的UITableView存在很大问题。我试图在用户点击特定细胞时播放视频。但我的问题是当我滚动tableiew时,视频也出现在其他单元格中。我怎么能阻止这个?

这是我的代码(我用BrihgtCove来显示视频)

class CatagoryOne: UITableViewController,BCOVPlaybackControllerDelegate {

// MARK: - BrightCove Properties    
let catalogService = BCOVCatalogService(token:kViewControllerCatalogToken)
var playbackController :BCOVPlaybackController?
var avpvs : AVPlayerViewController?
static var selectedRow : Int?


required init?(coder aDecoder: NSCoder) {

    let manager = BCOVPlayerSDKManager.sharedManager();
    avpvs = AVPlayerViewController()
    playbackController = manager.createPlaybackControllerWithViewStrategy(manager.defaultControlsViewStrategy())
    super.init(coder: aDecoder)
    playbackController!.analytics.account = kPublistherID
    playbackController!.delegate = self
    playbackController!.autoAdvance = true
    playbackController!.autoPlay = true

}

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("VideoItemCell", forIndexPath: indexPath) as! NewVideoItemCell
    print("indexPath on cellForRowAtIndexPath = " ,indexPath.row)
    print("selectedRow on cellForRowAtIndexPath = " ,CellReUseModel.selectedRow)
    // Configure the cell...
    configureVideoListCell(cell, atRow: indexPath.row)
    return cell
}

func configureVideoListCell (cell : NewVideoItemCell,atRow : Int) {
    //cell.backgroundColor = Colors.videoListItemColor
    cell.videoTitle.textColor = Colors.videoListTextColor
    cell.videoTitle.text = videoModel.titleOfVideoList(atRow)
    //cell.thumbNail.image = videoModel.thumbnailForVideoItem(atRow)
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    let cell = tableView.cellForRowAtIndexPath(indexPath) as! NewVideoItemCell
    print("indexpath Row = " ,indexPath.row)
    CellReUseModel.selectedRow = indexPath.row
    print("Selected Row = " ,CellReUseModel.selectedRow)
    //self.tableView.reloadData()


    // the Code that plays the video

    self.addChildViewController(avpvs!)
    avpvs!.view.frame = cell.contentView.bounds
    avpvs!.view.autoresizingMask = [.None]
    avpvs!.videoGravity = AVLayerVideoGravityResizeAspectFill
    cell.contentView.addSubview(self.avpvs!.view)
    avpvs!.didMoveToParentViewController(self)
    requestContentFromCatalog()

}
}

请帮助我:(

0 个答案:

没有答案