iOS 多媒体技术|青训营笔记

97 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第15天,今天是8月20日,今天学习iOS多媒体技术,并整理了相关知识笔记。

相册权限

工程配置

在info.plist 中添加对应的提示文案。用于提示用户开启权限。

image.png

权限状态

typedef NS_ENUM(NSInteger, PHAuthorizationStatus) {
    // 暂未获取权限
    PHAuthorizationStatusNotDetermined = 0,
    // 受限状态,没有授权访问相册,用户也无法修改状态(例如家长模式下)
    PHAuthorizationStatusRestricted,
    // 用户拒绝了相册授权
    PHAuthorizationStatusDenied,
    // 用户同意了相册授权
    PHAuthorizationStatusAuthorized,
    // 受限的相册访问,用户会选择部分程序可以访问的相册数据
    PHAuthorizationStatusLimited API_AVAILABLE(ios(14)),
};

相册加载

系统相册选择器:ALAssetsLibrary(废弃)、UIImagePickerController(软废弃)、PHPickerViewController

权限控制 image.png

PHPickerViewController

image.png

自定义选择器

1.不主动选择权限: 需要重新进入才能获取到数据。在另一个进程弹出权限请求弹窗 image.png

2.主动选择权限: 可以控制一定选择过权限类型后,再加载数据。

image.png

视频播放

初始化

1.通过 URL 创建AVPlayerItem(多媒体数据的管理器)供播放器使用。

2.播放时长监听

3.加载状态监听(方便出错时可以进行错误处理)

4.播放速率监听(播放和暂停都相当于设置 rate 值。)

5.播放进度监听(定时更新进度条)

播放控制

点击播放暂停,调用 play/pause、拖拽进度条

image.png

画中画模式

需要先判断设备是否支持,监听 pictureInPicturePossible 是否更新状态,更新后可尝试触发画中画效果,监听应用进入活跃状态。(从主屏幕返回时,停止画中画模式)

image.png

总结

今天学习了如何进行响彻的权限控制和视屏的播放设置