2017-05-04 16 views
0

app MPMoviePlayerController를 사용하여 원격 URL에서 비디오를 재생하려고합니다. 플레이어를 두 개 이상의 비디오를 재생할 때 다시 사용하고 url이 비디오를 가리 키지 않으면 컨트롤러는 아무런 알림도 보내지 않습니다. MPMoviePlayerPlaybackDidFinishNotification, MPMoviePlayerPlaybackStateDidChangeNotification 및 MPMoviePlayerLoadStateDidChangeNotification을 시도했습니다. 그들 중 누구도 보냈습니다.MPMoviePlayerController로 잘못된 URL을 처리하는 방법

또한 맞춤 시간 초과 기능을 시도하고 아래와 같이 플레이어의 정지 기능을 호출합니다. 그러나 아무 일도 일어나지 않습니다. MPMoviePlayerController는 그냥 죽어서 아무것도하지 않는 것처럼 보입니다.

[self performSelector:@selector(checkTimeout) withObject:theMovie afterDelay:15]; 
 

 
-(void) checkTimeout { 
 
    [self.moviePlayer stop]; 
 
}

사람은 MPMoviePlayerController와 유효하지 않은 URL을 처리하는 방법을 알고 있나요?

+0

일부 추가 코드 표시 –

답변

0

나는 해결책의 종류를 직접 발견했습니다.

MPMoviePlayerController가 두 개 이상의 URL을 재생하는 데 문제가있는 것 같습니다. 두 번째 URL이 동영상을 가리키거나 유효하지 않은 경우 플레이어는 아무 것도하지 않습니다. 그래서 모든 URL에 대해 MPMoviePlayerController의 새 인스턴스를 만들고 MPMoviePlayerPlaybackDidFinishNotification을 수신했습니다.

0

잘못된 URL에 대한 알림을받지 못한 경우 최대 기간 (initialplaybacktime, 0)의 타이머를 실행해야하고이 시간 내에 MPMoviePlayerReadyForDisplayDidChange notification을받지 못하면 동영상을 사용할 수 없다는 오류를 생성하십시오.

+0

플레이어가 UI에 추가되었으며 적어도 하나의 비디오를 재생했습니다. 이 경우 솔루션이 작동합니까? – jarly

+0

몇 개의 비디오가로드되어 있고 플레이어가 UI에 추가되었는지 여부와 관계없이 플레이어에 새 URL을로드 한 후 타이머를 다시 예약합니다. – NeverHopeless