Was ist der beste Weg, um Videos in UITableViewCell abzuspielen
Ich versuche, in @ ein Video mit automatischer Wiedergabe zu erstelle UITableViewCell abhängig von der Zellenposition.
Ich benutze das AVPlayer
Hier ist mein Code:
__weak typeof(self)this = self;
NSString* videoPath = @"http://test.com/test.mp4";
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:videoPath] options:nil];
NSArray* keys = [NSArray arrayWithObjects:@"playable",nil];
[asset loadValuesAsynchronouslyForKeys:keys completionHandler:^(){
AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:asset];
this.avPlayer = [AVPlayer playerWithPlayerItem:playerItem];
this.avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:this.avPlayer];
this.avPlayerLayer.frame = _videoContent.frame;
dispatch_async(dispatch_get_main_queue(),^{
[this.videoContent.layer addSublayer:this.avPlayerLayer];
[this.avPlayer play];
});
}];
Aber mein UITableView ist eingefroren, wenn ich in der Tabelle scrolle. Ich denke, es gibt viele zeitaufwändige Arbeiten, aber das größte Problem ist
[this.avPlayer play]
So ist meine Frage, dass AVPlayer der beste Weg in dieser Situation ist? Und gibt es eine Möglichkeit, die Leistung zu verbessern?