我在每个单元格中都有UITableview
一个AVPlayer
实例。我的要求是仅在可见单元格中流式传输视频,因此我不希望在不可见单元格中出现任何播放器实例。在cellForRowAtIndexPath中调用 Play 方法。这是我删除 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;
}
但是,我仍然听到来自隐形细胞的声音。当我移动到不同的屏幕时,我正在使用相同的代码暂停视频,但我仍然听到音频。我该如何解决?