首页 > 解决方案 > 在 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 流,请分享您的想法。提前致谢!

标签: iosobjective-cswiftavplayerhttp-live-streaming

解决方案


您可以通过指定来设置质量:

currentPlayerItem.preferredMaximumResolution = your value
currentPlayerItem.preferredForwardBufferDuration = your value

但最终播放器将自行调整质量,因为 HLS 是一种自适应流,可根据可用带宽调整其质量。


推荐阅读