开发iPad 画中画功能遇到的一些问题

在开发iPad画中画功能时,主要遇到了三个问题:如何获取画中画的暂停和播放状态,视频全屏退后台时的自动启动策略,以及播放错误视频地址时的处理。对于画中画状态的监听,可以通过AVPlayer的timeControlStatus;苹果规定只有用户明确请求画中画功能时才会响应,否则可能被App Store拒绝;播放错误视频地址时,目前尚无有效解决方案,只能通过监听AVPlayerItem的状态来预防。
摘要由CSDN通过智能技术生成

1.如何获取画中画的暂停和播放状态。

在AVPlayer中监听timeControlStatus

self->player = [[AVPlayer alloc] initWithPlayerItem:item];
[self->player addObserver:self forKeyPath:@"timeControlStatus" options:NSKeyValueObservingOptionNew context:nil];//监听 timeControlStatus(为了监听画中画模式的暂停播放)
/**
 *  kVC监听播放状态
 *
 *  @param keyPath
 *  @param object
 *  @param change
 *  @param context
 */
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if ([player isEqual:object] && [@"timeControlStatus" isEqualToString:keyPath]){
        if (IS_IOS10_OR_LATER && pipController.isPictureInPictureActive) {//画中画启动状态
            switch (player.timeControlStatus) {
                case AVPlayerTimeControlStatusPaused:
                    //暂停
                    break;
                case AVPlayerTimeControlS
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值