我正在尝试使用 XCode 和指南在 Objective-C 中编写视频播放器代码,但由于某种原因我遇到了错误,而且我对 Objective C 还很陌生,确切的错误代码是 - 在 AVPlayer 类型的对象上找不到属性“frame”。
View Controller .h
@property (nonatomic) IBOutlet AVPlayer *avPlayer;
@property (nonatomic, strong) NSMutableString *frame;
Viewcontroller.m
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"vid" ofType:@"mp4"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
self.avPlayer = [AVPlayer playerWithURL:fileURL];
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;
layer.frame = CGRectMake(0, 0, 1024, 768); //error point
[self.view.layer addSublayer: layer];
[self.avPlayer play];
}
我一直在关注本指南 - http://jacopretorius.net/2013/02/playing-video-in-ios.html在尝试了多个其他人之后。
我的问题是,为什么不声明“框架”起作用,我还尝试了 AVPlayer 对象的多个 ID 以及对视频播放器进行编码的不同方法。
我也试过了-
最佳答案
错误消息表明您正在尝试使用 AVPlayer.frame
而不是 AVPlayerLayer.frame
,所以我认为您输入错误的代码是这样的:
AVPlayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
^^^^^^^^
关于ios - Objective-c,在 AVPlayer 类型的对象上找不到属性 'frame',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154180/