2013-05-28 6 views
0

다양한 비디오를 재생하는 앱 스토어에 앱이 있습니다. 현재 모든 동영상은 .mov 파일 형식이지만 앱의 전체 크기를 줄이기 위해 다른 파일 형식을 사용하려고하므로 크기가 커집니다. mp4 형식을 사용하려고하는데 각 동영상의 크기가 절반 이상 줄어들지 만 할 때 다음 오류 메시지와 함께 동영상을 재생하려고하면 앱이 중단됩니다. 잡히지 않아 앱이 종료됩니다. 예외 'NSInvalidArgumentException', 이유 : '* - [NSURL initFileURLWithPath :] : nil 문자열 매개 변수 구현 파일의 각 동영상에 다음 코드를 사용하고 새 동영상과 일치하도록 파일 이름과 유형을 변경했습니다. 왜 파일 경로에 문제가 있는지 이해하지 못합니다..mov를 제외한 다른 비디오 파일 형식은 왜 작동하지 않습니까?

- (IBAction)playDaresWins:(id)sender { 
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
            pathForResource:@"DaresWins" ofType:@"mov"]]; 
_moviePlayer = 
[[MPMoviePlayerController alloc] 
initWithContentURL:url]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:_moviePlayer]; 

_moviePlayer.controlStyle = MPMovieControlStyleNone; 
_moviePlayer.shouldAutoplay = YES; 
[self.view addSubview:_moviePlayer.view]; 
[_moviePlayer setFullscreen:YES animated:NO]; 
} 

내가 누락 된 상품이 있습니까?

답변

0

.mov은 비디오 형식이나 코덱이 아니므로 컨테이너입니다. 개발자 설명서는 지원되는 비디오 코덱, 비트 전송률 및 해상도 목록을 제공합니다 (link here - OS 버전에서 OS 버전으로 변경할 수 있으므로 여기에 게시하지 않습니다).

그러나 동영상을 재생할 때가 아니라 NSURL을 만들 때 예외가 발생하는 것처럼 보이기 때문에 문제는 아닌 것 같습니다. 이는 동영상을 제공하는 경로가 존재하지 않는다는 것을 의미합니다. a) 올바른 파일 이름, b) 올바른 확장자 (아마도 MOV 대신 MP4) 또는 c) 동영상 파일을 프로젝트에 올바르게 추가 했습니까?

+0

안녕하세요. 모든 사항을 확인하고 모든 사항이 올바른 것입니다. –