iOS开发-iOS14画中画-OC

本文介绍了iOS14中的画中画功能,强调了PiP应在用户控制下使用,避免非用户直接启动。在Xcode中启用后台模式并配置音频会话类别是实现PiP的关键。同时,文章提供了简单的OC代码示例,包括导入AVKit框架、创建画中画对象、控制开启/关闭以及实现代理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 简述

一种控制器,用于在浮动的可调整大小的窗口中响应用户启动的画中画视频播放。

API_AVAILABLE(ios(9.0), macos(10.15), tvos(14.0)) API_UNAVAILABLE(watchos)
@interface AVPictureInPictureController : NSObject

注意

画中画(PiP)是Apple希望始终在用户控制下的一项用户功能。仅在响应用户的明确请求时才调用PiP。如果某个应用以非用户直接指导的方式调用PiP,则App Store审核小组将拒绝它。

要在iOS中使用画中画,要在Xcode中执行以下步骤:

  1. 打开后台模式开启 Audio, AirPlay, and Picture in Picture

image-20201111164716519

  1. 为音频会话配置合适的类别,如AVAudioSessionCategoryPlaybackAVAudioSessionCategoryPlayAndRecord

重要

不支持子类化和重写其方法,这会导致未定义的行为。

二 官方属性方法

// 当前设备是否支持画中画
+ (BOOL)isPictureInPictureSupported;
// 创建画中画控制器
- (nullable instancetype)initWithPlayerLayer:(AVPlayerLayer *)playerLayer NS_DESIGNATED_INITIALIZER;
// 要播放媒体的播放器层
@property (nonatomic, readonly) AVPlayerLayer *playerLayer;
// 是否允许用户跳过媒体内容
@property (nonatomic) BOOL requiresLinearPlayback API_AVAILABLE(ios(14.0), macos(11.0), tvos(14.0)) API_UNAVAILABLE(watchos);
// 委托对象
@property (nonatomic, weak,<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值