Ich versuche eine AVPlayerViewController
zu einer Sprechblase hinzufügen, so dass alle Audio- oder Video-Nachrichten, wenn sie empfangen werden, direkt in der Chat-Blase gespielt werden können. Meine UITableView
Liste enthält viele dieser Blasen. Aber wenn ich versuche, die Tabellenansicht zu scrollen, wird die App zeigt abgestürzt - [AVPlayerViewController retain]: message sent to deallocated instance.
- [AVPlayerViewController beibehalten]: Nachricht an freigegebene Instanz gesendet
Hier unten ist mein Code ein AVPlayerViewController
Objekts zu jeder Chat-Blase für das Hinzufügen von: -
_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];
die URL enthält den Dateipfad (Audio/Video), und ich versuche, das Objekt _playerViewController
zu UITableView
Zelle Inhalt anzuzeigen, aber es löst den obigen Fehler. Kann mir bitte jemand sagen, was ich tun soll.
Danke für den Vorschlag. Können Sie mir bitte auch die Logik zum Abspielen von Audiodateien nennen? –
@ Lion-sollte ich den gleichen Player auch die Audiodateien abspielen? –
Sie können eine Aktionsmethode erstellen, die Video erstellt und wiedergibt (ähnlicher Code, den Sie angezeigt haben). Klicken Sie dann auf oder klicken Sie auf "Didselectrow", um die ausgewählte Video-URL an diese Methode zu übergeben und AVPlayerViewController zu erstellen und Video abzuspielen! – Lion