チャットバブルにAVPlayerViewController
を追加しようとしました。受信した音声やビデオメッセージをチャットバブルで直接再生できるようにしました。私のUITableView
リストには、これらのバブルの多くが含まれています。しかし、私はテーブルビューをスクロールしようとすると、アプリが示すクラッシュします - [AVPlayerViewController retain]: message sent to deallocated instance.
- [AVPlayerViewController retain]:割り当て解除されたインスタンスに送信されたメッセージ
ここでは以下の各チャットバブルにAVPlayerViewController
オブジェクトを追加するための私のコードです: -
_playerViewController = [[AVPlayerViewController alloc] init];
_playerViewController.player = [AVPlayer playerWithURL:url];
_playerViewController.view.frame = CGRectMake(10.0, 5.0, 190.0 , 90.0); // self.view.bounds;
_playerViewController.showsPlaybackControls = YES;
[_playerViewController.view setTranslatesAutoresizingMaskIntoConstraints:YES];
[_playerViewController .view setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin];
[cell.contentview addsubview:_playerViewController.view];
URLはファイルパスが含まれています(オーディオ/ビデオ)、オブジェクトをUITableView
セルのコンテンツビューに追加しようとしていますが、上記のエラーがスローされます。誰でも私が何をすべきか教えてください。
提案していただきありがとうございます。オーディオファイルを再生するロジックを教えてください。 –
@ Lion - 私も同じプレーヤーを使用して、オーディオファイルを再生する必要がありますか? –
ビデオを作成して再生するアクションメソッドを作成することができます(問題のコードと同様のコード)。ボタンをクリックするか 'didselectrow'で選択したビデオURLをこれらのメソッドに渡し、AVPlayerViewControllerを作成してビデオを再生します! – Lion