gpt4 book ai didi

ios - 在 UITableViewCell 中播放视频的最佳方式是什么

转载 作者:行者123 更新时间:2023-11-28 17:57:42 24 4
gpt4 key购买 nike

我正在尝试根据单元格位置在 UITableViewCell 中制作自动播放视频。

我正在使用 AVPlayer

这是我的代码:

    __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];
});
}];

但是当我滚动表格时,我的 UITableView 被卡住了。我认为有很多耗时的工作,但最重要的是

[this.avPlayer play]

所以我的问题是 AVPlayer 是这种情况下的最佳方式吗?有什么方法可以提高性能吗?

最佳答案

您确定创建 AVPlayerItemAVPlayerAVPlayerLayer 都可以在主线程之外执行吗?您可能想尝试将它们放在在主队列上调度的 block 中。

关于ios - 在 UITableViewCell 中播放视频的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29788233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com