Я пытаюсь добавить AVPlayerViewController
в чат-баннер, чтобы любые аудио- или видеосообщения при их получении могли непосредственно воспроизводиться в чате. Мой список UITableView
содержит многие из этих пузырьков. Но когда я пытаюсь прокрутить вид таблицы, приложение получает разбился показ - [AVPlayerViewController retain]: message sent to deallocated instance.
- [AVPlayerViewController сохранить]: сообщение отправлено на освобожденный экземпляр
Здесь ниже мой код для добавления 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-адрес содержит путь к файлу (аудио/видео), и я пытаюсь добавить объект _playerViewController
к представлению содержимого ячейки UITableView
, но он выдает указанную выше ошибку. Может кто-нибудь, пожалуйста, скажите мне, что я должен делать.
Спасибо за предложение. Можете ли вы также сказать мне логику воспроизведения аудиофайлов, пожалуйста. –
@ Lion. Должен ли я использовать одного и того же игрока, чтобы воспроизвести аудиофайлы? –
вы можете создать метод действия, который создает и воспроизводит видео (аналогичный код, как вы показали в вопросе). затем при нажатии кнопки или в 'didselectrow' передать выбранный URL-адрес видео для этого метода и создать AVPlayerViewController и воспроизвести видео! – Lion