ijkplayer的[self.player prepareToPlay]方法的使用

前要

我们在查看ijkplayr播放器的dome的时候可能发现一个很奇怪的问题,总是有下面方法的调用

- (void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    [self.player prepareToPlay];

}

这个方法

  • (void)viewWillAppear:(BOOL)animated会在- (void)viewDidLoad之后开始调用

那么这个[self.player prepareToPlay];到底有什么用呢?


问题与解决方案

我们有时候需要切换数据源,比如切换程高清、超清、线路什么时候,我们必须重新设置self.player的数据源,而更改数据源的方法却只有两个初始化player的方法,没有直接更改数据源的方法,这个很坑,也不知道是不是Bibili特意这样的

- (id)initWithContentURL:(NSURL *)aUrl
             withOptions:(IJKFFOptions *)options;

- (id)initWithContentURLString:(NSString *)aUrlString
                   withOptions:(IJKFFOptions *)options;

所以在更换self.player之前要释放掉self.player,然后用上面的两个方法重新设置初始化,记住一定设置完之后一定要调用[self.player prepareToPlay],我感觉这句话的作用就是设置一系列的音频视频的输入输出api的设置工作,必须在UI展示出来之前设置完成,又因为某些原因,不能在self.player之前就设置好,(此处是猜测的),如果忘记再次调用[self.player prepareToPlay]这个东西,视频是根本播放出来的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值