swift初心者です。
UITableViewCellの動画再生について、どうしても分からないことがあるので質問させてください。
私は今YoutubeやTikTokのようにTableViewCell内で動画再生をする機能を実装しています。
動画再生自体はできたのですが、次のCellにスクロールする間に動画が止まってしまい、背景(白)が表示されるので見た目的によくありません。
そこで、次のCellにスクロールする間にも動画が再生し続けてほしいのですが、どうしても動画が止まってしまいます。
どうかご教授願えないでしょうか?
・TableViewCell
Swift
1 var videoUri: URL! { 2 didSet { 3 if let url = self.videoUri { 4 // 動画再生 5 VideoBackground.shared.play(view: playerView, url: url, isMuted: true, willLoopVideo: true, setAudioSessionAmbient: true) 6 } 7 // 再生が始まったらインジケータを回す 8 NotificationCenter.default.addObserver(self, selector: #selector(stopIndicator(notification:)), name: NSNotification.Name.AVPlayerItemNewAccessLogEntry, object: nil) 9 } 10 }
・HomeViewController
Swift
1 // 表示する動画リスト 2 fileprivate var recommendMovieInfos: [MovieInfo] = [] { 3 didSet { 4 // TableView全体のリロード 5 tableView.reloadData() 6 // TableViewCellの見えている部分だけをリロード 7 self.tableView.reloadRows(at: self.tableView.indexPathsForVisibleRows!, with: .none) 8 } 9 } 10 11・・・略・・・ 12 13 14 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 15 let cell = tableView.dequeueReusableCell(withIdentifier: R.reuseIdentifier.inlineMovieTableViewCell.identifier) as! InlineMovieTableViewCell 16 let movieInfo = recommendMovieInfos[indexPath.row] 17 // 動画URI情報 18 cell.videoUri = URL(string: movieInfo.videoUri) 19 20 return cell 21 }
「次のCellにスクロールする間に動画が止まってしまい、背景(白)が表示される」という状況がよくわからないので画面の動画キャプチャか何かを載せられないでしょうか?
あなたの回答
tips
プレビュー