我在每个单元格中都有UITableview
个AVPlayer
个实例。我的要求是仅在可见单元格中流式传输视频,因此我不希望在不可见单元格中有任何播放器实例。 Play方法在 cellForRowAtIndexPath 中调用。
这是我删除AVPlayer的代码
- (void)tableView:(UITableView *)tableView didEndDisplayingCell: (UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath
{
if (![ _feedsTableView.indexPathsForVisibleRows containsObject:indexPath]) {
NSLog(@"index of visible cell %ld",(long)indexPath.row);
LTHomeFeedCell * cell = (LTHomeFeedCell*)[_feedsTableView cellForRowAtIndexPath:indexPath ];
[ cell.avMoviePlayer pause ];
cell.avMoviePlayer = [ AVPlayer playerWithURL:[NSURL URLWithString:@""] ];
cell.avMoviePlayer = nil;
}
但是,我仍然听到来自隐形细胞的声音。当我移动到不同的屏幕但我仍然听到音频时,我正在使用相同的代码来暂停视频。我该如何解决这个问题?
答案 0 :(得分:0)
您可以通过本地通知处理暂停功能,如下所示: