2012-05-18 4 views
1

비디오 파일을 표시 할 AVPlayer를 만들려고합니다.AVFoundation으로 비디오를 재생할 때 문제가 발생했습니다.

- (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>를 가져온 :

내가 지금까지 가지고있는 코드입니다.

우선, (줄은 self.player = p;)이라는 오류가 표시됩니다. 이것을 실행하려면 무엇을해야합니까?

오류가 수정 된 후에도이 코드가 올바르게 작동하여 비디오를 표시합니까? 사전에

덕분에

답변

1

귀하의 ViewController 분명히 같은 인스턴스 변수가 포함되어 있지 않습니다.

@property (nonatomic, strong) AVPlayer *player; 

이 그런 다음 당신의 ViewController 구현 파일에 다음 (하는 .m)를 추가 :

귀하의 ViewController 헤더 파일 (.H)에 다음을 추가,이 문제를 해결하려면

@synthesize player; 

첫 번째 단계에서는 viewController 객체가 실제로 player라는 인스턴스 변수를 소유하는지 확인합니다. 두 번째 단계는 일치하는 setter와 getter를 작성합니다.

+0

그 문제가 수정되었습니다. 그러나 비디오는 여전히 표시되지 않습니다. 시뮬레이터에서 이것을 실행하려고합니다. 다른 아이디어? –

관련 문제