相关疑难解决方法(0)

AVQueuePlayer的预缓冲

有没有人知道当前项目即将完成播放时是否AVQueuePlayer开始缓冲下一个AVPlayerItem

我知道文档中没有任何内容可以暗示这一点,我主要询问是否有人观察过这种行为.

iphone objective-c avfoundation avplayer

20
推荐指数
3
解决办法
1万
查看次数

预加载视频以立即播放

关于视频预加载的主题有很多,但对我来说仍然不太清楚。

目标:

  1. 从网络加载视频,给出URL
  2. 等待视频完全加载
  3. 无延迟地播放视频(正如我所说,它已经 100% 缓冲)

理想情况下,计算下载速度,预测缓冲 60% 视频时的 fe,我们开始播放,40% 将在播放时缓冲,无延迟。

我尝试过的:

 NSURL *url = [NSURL URLWithString:@"video url address here"];
 AVURLAsset *avasset = [[AVURLAsset alloc] initWithURL:url options:nil];

 AVPlayerItem *item = [[AVPlayerItem alloc] initWithAsset:avasset];
 self.player = [[AVPlayer alloc] initWithPlayerItem:item];

 self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
 CGSize size = self.view.bounds.size;
 float x = size.width/2.0-202.0;
 float y = size.height/2.0 - 100;

 self.playerLayer.frame = CGRectMake(x, y, 404, 200);
 self.playerLayer.backgroundColor = [UIColor blackColor].CGColor;

 [self.view.layer addSublayer:self.playerLayer];
 NSString *tracksKey = @"tracks";

 [avasset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:tracksKey] completionHandler:
     ^{
         dispatch_async(dispatch_get_main_queue(),
                        ^{ …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios

4
推荐指数
1
解决办法
9523
查看次数

标签 统计

avfoundation ×2

avplayer ×1

ios ×1

iphone ×1

objective-c ×1