ios - Objective-c,在 AVPlayer 类型的对象上找不到属性 'frame'

标签 ios objective-c xcode avplayer

我正在尝试使用 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 以及对视频播放器进行编码的不同方法。

我也试过了-

Stackoverflow error Stackoverflow error 2

最佳答案

错误消息表明您正在尝试使用 AVPlayer.frame 而不是 AVPlayerLayer.frame,所以我认为您输入错误的代码是这样的:

AVPlayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
^^^^^^^^

关于ios - Objective-c,在 AVPlayer 类型的对象上找不到属性 'frame',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154180/

相关文章:

objective-c - 在 Objective c 中如何定义自定义 boolean 类型?

xcode - 出于开发目的,我如何模拟 Apple Watch?

ios - 1 个项目中的 2 个目标具有相同的文件名 appdelegate.h

ios - 使用 Interface Builder 组织标签

iphone - 当没有单元格存在时单击 UITableView 的方法,以便键盘将关闭

ios - Theos:如何使用 block 参数 Hook 方法? (CDUnknownBlockType)

ios - 在两种不同类型的 UITableViewCells 之间交替

ios - 切换单元格的UITableView

ios - 如何将一个 SKNode 的坐标转换为另一个 SKNode?

ios - 断点在 xcode pod 文件中不起作用