iOS SJVideoPlayer使用中遇到的坑

前言

SJVideoPlayer 总体来说还是一个不错的框架,不过使用中也遇到一些问题,还好都一一解决了。

遇到的问题

  • 注意循环引用问题,如果视频播放的页面 popdismiss 之后,由于循环引用没来得及释放,会造成这样或那样的问题。

  • 视频播放的占位图问题:关于这个问题,作者在文档上有给出设置的属性,但是这个属性在框架新版本中只是个只读属性,让人搞不明白,不过还好慢慢摸索之后,还是解决了这个问题,代码如下:



#import "ViewController.h"
#import <SJVideoPlayer/SJVideoPlayer.h>

@interface ViewController ()

@end

@implementation JQXCourseDetailVC

- (void)viewDidLoad {
    [super viewDidLoad];

    SJVideoPlayer.update(^(SJVideoPlayerSettings * _Nonnull common) {
        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"网络url字符串"]];
        common.placeholder = [UIImage imageWithData:data];
    });
}

- (void)dealloc {
   // 在控制器释放的时候,一定要设置placeholder为nil,要不会有placeholder缓存
    SJVideoPlayer.update(^(SJVideoPlayerSettings * _Nonnull common) {
        common.placeholder = nil;
    });
    TESTLog(@"%d - -[%@ %s]", (int)__LINE__, NSStringFromClass([self class]), sel_getName(_cmd));
}

@end
  • 如果视频播放界面放在 UITableViewheader 上,这要注意一个问题: cell 刷新问题。如果刷新 cell,视频会重头开始播放。

Author

如果你有什么建议,可以关注我,直接留言,留言必回。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,368评论 0 1
  • 不知道从什么时候起“不让孩子输在起跑线上”这句话在家长中间流传。不少小孩因此周末在各个补习班、兴趣班兜兜转转,殊不...
    书课阅读 162评论 0 0
  • 一 数据库对象命名规范 1. 数据库对象 命名规范的对象是指数据库SCHEMA,表Table,索引Index, 约...
    _二师兄_阅读 176评论 0 0