2
給定一個HLS清單與多個變種/演繹:如何從AVAsset或AVPlayerItem獲取主清單中的所有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
是否有可能得到這三個變量數組(與屬性,如帶寬和分辨率)無論從AVAsset或AVPlayerItem?
我能夠通過在AVPlayerItem上使用KVO獲得當前正在播放的AVPlayerItemTrack,但同樣,它只是正在播放的曲目而不是完整的變體列表。
我很想知道資產是否以最高質量播放,以便我可以決定用戶是否有足夠的帶寬來啓動同時發送的輔助視頻流。
你是否檢查過AVAsset.trackGroups屬性?從文檔中可以看出它可能會匹配。 –
@DaveWeston Yup,我試着檢查軌道和trackGroups,但它們總是以空數組的形式返回,即使使用'loadValuesAsynchronously':/ –