ios - 在 iOS SDK - AVPlayer 中手动选择视频质量的 HLS 流?
问题描述
我们已经用 AVPlayer 实现了 HLS 流,
fileURL = [NSURL URLWithString:@"https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8"];
avAsset = [AVURLAsset assetWithURL:fileURL];
AVPlayerItem *avPlayerItem =[[AVPlayerItem alloc]initWithAsset:self->avAsset];
self->avPlayer = [AVPlayer playerWithPlayerItem:avPlayerItem];
它是根据网络速度自动选择视频质量的,我们需要通过用户选择手动选择视频质量。但我们无法手动选择媒体文件(质量 1080p、720p、270p 等)。
如果有人知道手动质量选择的 HLS 流,请分享您的想法。提前致谢!
解决方案
您可以通过指定来设置质量:
currentPlayerItem.preferredMaximumResolution = your value
currentPlayerItem.preferredForwardBufferDuration = your value
但最终播放器将自行调整质量,因为 HLS 是一种自适应流,可根据可用带宽调整其质量。
推荐阅读
- spring-boot - [请求处理失败;嵌套异常是 java.lang.IllegalStateException: 没有可用的实例
- javascript - 编码新手,我不知道为什么我的 javascript 按钮无法正常工作?
- c++ - 编译时显示未定义的引用
- xamarin - AdMob 横幅不会显示,测试广告没有错误消息并且无法加载:3 与真实广告
- for-loop - Google appcipt - 使用 for 循环导出多个 PDF,使用工作表作为模板,意外结果
- xml - XSLT document() 无法与 javascript xsltProcessor 一起使用
- android - 在真机上颤振构建apk文件的问题
- javascript - 如何在画布元素内的另一个图像上方居中图像
- html - 为什么“标签”属性不适用于“选项”元素?
- opencv - cmake c++ 库与 opencv addexternal