MPMoviePlayerViewController
을 사용하여 동영상을 재생하고 있습니다.MPMoviePlayerViewController 반복 횟수
동영상이 반복 재생 될 수 있도록 MPMovieRepeatModeOne
과 같은 반복 모드가 있습니다.
재생 된 비디오의 반복 횟수를 얻는 데 사용할 수있는 방법이 있습니까?
당신은 통지 추가 할 수 있습니다MPMoviePlayerViewController
을 사용하여 동영상을 재생하고 있습니다.MPMoviePlayerViewController 반복 횟수
동영상이 반복 재생 될 수 있도록 MPMovieRepeatModeOne
과 같은 반복 모드가 있습니다.
재생 된 비디오의 반복 횟수를 얻는 데 사용할 수있는 방법이 있습니까?
당신은 통지 추가 할 수 있습니다:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(introMovieFinished:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.moviePlayerController];
을 그리고 비디오 루프 완료되면 다음 검출이 알림을 사용 : 제가 알기로
- (void)introMovieFinished:(NSNotification *)notification
{
if (notification.object == self.moviePlayerController) {
NSInteger reason = [[notification.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] integerValue];
if (reason == MPMovieFinishReasonPlaybackEnded)
{
NSLog(@"Video has looped!");
}
}
}
, 당신은 반복 모드로 MPMoviePlayerPlaybackDidFinishNotification
을 사용할 수 없습니다를 왜냐하면 당신이 그것을 반복하지 않으면 비디오에서 벗어난 경우에만 트리거되기 때문입니다.
반복 모드를 사용하면 상태 변경 만 가능합니다 (= 이전 동영상 종료) ... 일시 중지 (이전 동영상) ... PLAY (새 동영상 시작)] MPMoviePlayerPlaybackStateDidChangeNotification
덕분에 감지되었지만 didFinishNotification
은 루프에 포함되지 않습니다.
, 당신은 예를 들어이 패턴을 따라 플레이어의 이전 상태를 저장해야합니다 :
[stateCurrentTime (PLAY)]> (playingDuration - 1 초) 비디오의 ==> 끝
[stateCurrentTime (일시 중지됨)] < 0.5 초 ==> 전 새로운 비디오
[stateCurrentTime (PLAY)] 사이의 과도 상태 < 1 초 ==> 새 동영상의 시작.
MPMoviePlayerPlaybackDidFinishNotification
을 사용하는 방법을 찾는 데 성공하면이 통지의 동작이 반복 모드와 함께 이동하지 않기 때문에, 나는 거기에 확실히 관심이있을 수 있습니다.
답변을 얻었습니까? – Chandu
AVPlayerViewController를 살펴보십시오. iOS10에 도입 된 새로운 클래스 AVPlayerLooper 덕분에 문제에 대한 해결책을 찾을 수 있기 때문입니다. –