1

我正在尝试创建一个显示视频文件的 AVPlayer。

这是我到目前为止的代码:

- (IBAction) player {
       NSURL* m = [[NSBundle mainBundle] URLForResource:@"Cache" withExtension:@"mov"];
       AVURLAsset* asset = [AVURLAsset URLAssetWithURL:m options:nil];
       AVPlayerItem* item = [AVPlayerItem playerItemWithAsset:asset];
       AVPlayer* p = [AVPlayer playerWithPlayerItem:item];
       self.player = p;
       AVPlayerLayer* lay = [AVPlayerLayer playerLayerWithPlayer:p];
       lay.frame = CGRectMake(10, 76, 303, 265);
       [self.view.layer addSublayer:lay];
       [p play];
}

我已经链接到AVFoundation.framework并且CoreMedia.framework我已经导入了<AVFoundation/AVFoundation.h>.

首先,我收到一个错误,上面写着property 'player' not found on object of type 'ViewController*(对于 line self.player = p;)。我需要做什么才能让它运行?

此外,在修复错误后,此代码是否可以正常显示视频?

提前致谢

4

1 回答 1

1

您的 viewController 显然不包含这样的实例变量。

要解决这个问题,请将以下内容添加到您的 viewController 头文件 (.h) 中:

@property (nonatomic, strong) AVPlayer *player;

然后将以下内容添加到您的 viewController 实现文件 (.m) 中:

@synthesize player;

第一步将确保您的 viewController 对象实际上拥有一个名为 player 的实例变量。第二步将创建一个匹配的 setter 和 getter。

于 2012-05-18T22:26:14.870 回答