Ho implementato un lettore di film personalizzato con AVPlayer
. Impostando il valore di videoGravity in AVPlayerLayer
a AVLayerVideoGravityResizeAspectFill
vedo l'effetto desiderato in iOS
4.2, 4.3
. Ma in qualche modo su iOS 5.0
non ha alcun effetto. Qualcuno sta riscontrando un problema simile? Sto facendo qualcosa di sbagliato?L'impostazione di videoGravity su AVLayerVideoGravityResizeAspectFill non ha alcun effetto su iOS 5.0
risposta
Su iOS5 è necessario ripristinare i limiti dei livelli dopo aver impostato VideoGravity.
questo ha funzionato per me:
((AVPlayerLayer *)[self layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
((AVPlayerLayer *)[self layer]).bounds = ((AVPlayerLayer *)[self layer]).bounds;
CURA: punti "auto" per un PlayerView (sottoclasse di UIView) oggetto dall'esempio "Mettere tutti insieme": https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/02_Playback.html
sono stati in grado per risolvere il tuo problema con il suggerimento di miham ?. La mia domanda è stata bandita da questo moderatore di "BoltClock", voglio solo sapere se quel suggerimento ha funzionato per te come non lo era per me.
Per favore, BoltClock, non rimuovere la mia domanda. Penso sia legittimo chiedersi che tipo di oggetto 'sé' sia. miham afferma che quella soluzione ha funzionato per lui, beh, non ha funzionato per me, quindi penso che mettere in discussione ciò che 'self' indica potrebbe darmi indizi su quale tipo di oggetto dovrei usare. La documentazione dice che impostare la gravità su AVLayerVideoGravityResizeAspectFill consente di ritagliare il video nella vista di AVPlayerLayer ma non lo fa, e l'ho provato in iOS 4.3.2 e iOS 5, in modo che la risposta di miham non sia una risposta alla domanda originale di Soumya Das e al mio (a cosa punta 'sé'?). Forse hai la risposta ?, se è così, postala qui e non cancellare la mia domanda.
MODIFICATO: Trovato la soluzione a questo problema. Spunta la casella "Clip Subviews" in IB per la vista con il livello a cui vuoi collegare il video player. Quindi, imposta AVLayerVideoGravityResizeAspectFill dell'oggetto AVPlayerLayer. Se non hai la vista in IB ma la stai programmando, imposta la proprietà clipsToBounds su YES.
Gran risposta !!! Thk. –
cosa intendi per reset? quello che stai facendo è niente. I due lati dell'ultima riga sono uguali. Come previsto, questo non ha alcun effetto su iOS 8. – SpaceDog