美文网首页
Avplaer使用注意事项及坑

Avplaer使用注意事项及坑

作者: Gu_Liang | 来源:发表于2017-11-28 18:39 被阅读31次

1.关于avplaer缓冲

项目需求播放的时候缓冲视频,暂停的时候停止缓冲。

通过NSTemporaryDirectory()打印查看缓存文件发现,如果一开始监听loadedTimeRanges会生成一个缓存文件,如果不监听的话是没有的,只有播放完整个视频才会出现个缓存文件。所以需要缓冲的时候只需监听loadedTimeRanges,不需要缓冲的时候移除监听。

注意监听和移除要一一配对,不然会引起崩溃

2.监听播放时间

- (void)addProgressObserver

{

__weak typeof(self) weakSelf = self;

_timeObser = [self.player addPeriodicTimeObserverForInterval:CMTimeMake(1.0, 1.0) queue:dispatch_get_main_queue() usingBlock:^(CMTime time)

{

[weakSelf updateCurrentTime:time];

[weakSelf updateSliderValue:time];

}];

}

不需要时记得移除监听,虽然不移除也没事,但是会占用大量内存资源

3.slider拖动进度时,change时需要移除监听时间,不然进度条会一直跳。拖动完成时

[_slider addTarget:self action:@selector(sliderBtnClick:) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchCancel | UIControlEventTouchUpOutside];

如果只执行UIControlEventTouchUpInside,拖动太快会没有反应,执行了其他事件

slider缓冲的实现:

我是直接继承UISlider,然后添加的一个progressView。等有空了上传git,可以直接继承slider使用,简便方便快捷

暂时就这些,后续再补充

相关文章

网友评论

      本文标题:Avplaer使用注意事项及坑

      本文链接:https://www.haomeiwen.com/subject/cyvebxtx.html