すべてのセルにインスタンスが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;
}
しかし、まだ見えない細胞からの音声が聞こえます。この同じコードを使用して、別の画面に移動したときにビデオを一時停止していますが、音声はまだ聞こえます。これを修正するにはどうすればよいですか?