给定具有多个变体/再现的 HLS 清单:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1612430,CODECS="avc1.4d0020,mp4a.40.5",RESOLUTION=640x360
a.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3541136,CODECS="avc1.4d0020,mp4a.40.5",RESOLUTION=960x540
b.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=5086455,CODECS="avc1.640029,mp4a.40.5",RESOLUTION=1280x720
c.m3u8
Run Code Online (Sandbox Code Playgroud)
是否可以从 AVAsset 或 AVPlayerItem 获取三个变体的数组(具有带宽和分辨率等属性)?
我可以通过在 AVPlayerItem 上使用 KVO 来获取当前正在播放的 AVPlayerItemTrack,但同样,它只是正在主动播放的曲目,而不是完整的变体列表。
我有兴趣了解资产是否以尽可能高的质量播放,以便我可以决定用户是否有足够的带宽来启动同步辅助视频流。