문제

앱에서 둘 이상의 비디오를 재생할 가능성이 있어야합니다.

불행히도, 두 번째로 플레이를 누르면 비디오가 깜박 거리는 것처럼 보입니다.

나는 비디오를 재생하기 위해이 코드 만 사용합니다

nsurl *url = [[[nsurl alloc] initfileurlwithpath : [[nsbundle mainbundle] pathforResource :@"movie"oftype :@"m4v"] autoreLease];

mpmovieplayercontroller *mp = [[mpmovieplayercontroller alloc] initwithContentUrl : url];

mp.moviecontrolmode = mpmoviecontrolmodedefault;

MP Play];

영화 플레이어 = MP;

MP 릴리스];

누구든지 문제가 어디에 있는지 말해 줄 수 있습니까? 미리 감사드립니다!

UPDATE 1: 사과처럼 보입니다 영화 플레이어 예는 같은 문제가 있습니다.

도움이 되었습니까?

해결책

플레이 함수를 호출하기 전에 초기 재생 시간을 -1.0으로 설정하여 수행 할 수도 있습니다.

mp.initialPlaybackTime = -1.0;

재생 방법이 호출되기 전에이 코드를 넣으십시오.

다른 팁

MPMoviePlayerController가 재생을 마치고 플레이어 객체를 공개 한 후 알림 시스템을 사용하여 콜백을 실행 하여이 문제를 해결했습니다.

영화를 재생하기 전에 알림 추가 :

NSURL *url = [[[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Movie" ofType:@"m4v"]] autorelease];

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc]initWithContentURL:url];

mp.movieControlMode = MPMovieControlModeDefault;

//***Add this line***
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:mp];

[mp play];

그런 다음 콜백 메소드를 추가하고

-(void)myMovieFinished:(NSNotification*)aNotification
{
    MPMoviePlayerController *moviePlayer = [aNotification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidFinishNotification object:moviePlayer];
    [moviePlayer release];
}

유일한 솔루션은 ... 3.1의 앱을 만드는 것입니다.

또한 OS 3.1 이상의 시뮬레이터 버전에서 실행되는 것을 발견합니다. 시뮬레이터가 잘 재생 될 수 있습니다.

initialPlaybackTime = -1.0

OS 3.0에서도 잘 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top