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.frameworkCoreMedia.frameworkインポートし<AVFoundation/AVFoundation.h>ました。

まず、property 'player' not found on object of type 'ViewController*(行に対してself.player = p;)というエラーが発生します。これを実行するには何をする必要がありますか?

また、エラーが修正された後、このコードはビデオを表示するために正しく機能しますか?

前もって感謝します

4

1 に答える 1

1

あなたのviewControllerは明らかにそのようなインスタンス変数を含んでいません。

この問題を修正するには、viewControllerヘッダーファイル(.h)に次を追加します。

@property (nonatomic, strong) AVPlayer *player;

次に、viewController実装ファイル(.m)に以下を追加します。

@synthesize player;

最初のステップでは、viewControllerオブジェクトが実際にplayerという名前のインスタンス変数を所有していることを確認します。2番目のステップでは、一致するセッターとゲッターを作成します。

于 2012-05-18T22:26:14.870 に答える