Sto cercando di ottenere la risoluzione video durante la riproduzione di streaming hls. devo tipico giocatore init:Come ottenere le dimensioni del video per lo streaming HLS all'interno di AVPlayer?
let urlAsset = AVURLAsset(URL: currentVideoUrl)
self.player=AVPlayer(playerItem: AVPlayerItem(asset:urlAsset))
.......
Io uso KVO e cerco di ottenere il video formato quando ottengo stato .ReadyToPlay per AVPlayerItem:
func resolutionSizeForVideo() {
guard let videoTrack = self.player.currentItem?.asset.tracksWithMediaType(AVMediaTypeVideo).first else
{ return
}
let size = CGSizeApplyAffineTransform(videoTrack.naturalSize, videoTrack.preferredTransform)
let frameSize = CGSize(width: fabs(size.width), height: fabs(size.height))
print ("video size: \(frameSize)")
}
Il problema è che tracksWithMediaType() restituisce sempre vuoto array (ma funziona con file non stream, ad es. per .mov).
Come posso ottenere la dimensione (CGRect) del video HLS riprodotto all'interno di AVPlayer?
Cosa intendi per taglia? La risoluzione effettiva del video o il livello del livello del giocatore? – JAL
Risoluzione video, sì (modifica la domanda). – DixieFlatline