Mam klasy PlayerView do wyświetlania odtwarzania AVPlayer. Kod od documentation.Jak uzyskać klatkę wideo odtwarzacza AVP?
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface PlayerView : UIView
@property (nonatomic) AVPlayer *player;
@end
@implementation PlayerView
+ (Class)layerClass {
return [AVPlayerLayer class];
}
- (AVPlayer*)player {
return [(AVPlayerLayer *)[self layer] player];
}
- (void)setPlayer:(AVPlayer *)player {
[(AVPlayerLayer *)[self layer] setPlayer:player];
}
@end
skonfigurować moje AVPlayer (zawiera materiał wideo o rozmiarze 320x240) w tym PlayerView (z frame.size.width = 100, frame.size.height = 100) i mój film jest zmieniany. Jak mogę uzyskać rozmiar wideo po dodaniu w PlayerView?
Dla mnie videoRect po prostu zwraca CGRectZero, mimo że widzę wideo na ekranie. Używam iOS 8 – tettoffensive
czekać na currentItem.status do == AVPlayerStatusReadyToPlay, a następnie otrzymasz ramkę – YoCoh
To nie działa, nawet dodałem KVO czekać na status AVPlayerStatusReadyToPlay. VideoRect nadal zwraca wszystkie zera – codingrhythm