无法使用AVFoundation播放视频

时间:2012-05-18 22:14:01

标签: iphone ios ipad avfoundation avplayer

我正在尝试创建一个显示视频文件的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.frameworkCoreMedia.framework相关联,我已导入<AVFoundation/AVFoundation.h>

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

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

提前致谢

1 个答案:

答案 0 :(得分:1)

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

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

@property (nonatomic, strong) AVPlayer *player;

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

@synthesize player;

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