capítulos em vídeos para o iPhone

É possível usar capítulos em vídeos para o iPhone em um aplicativo?

Por exemplo: Eu tenho um vídeo de 3 minutos para jogar. Eu tenho o capítulo 1 iniciando em 0s, o capítulo 2 em 50s, o capítulo 3 em 95s.

Posso começar a plaquear o vídeo aos 50s (capítulo 2) até o final? Posso fazê-lo tocar apenas o capítulo 2 de 50 a 95?

Minha pergunta não é sobre como adicionar capítulos a um vídeo. Eu quero saber se esse comportamento está disponível no iPhone.

0
adicionado editado
Visualizações: 1

3 Respostas

É definitivamente possível enviar a mensagem não documentada setCurrentTime para o MPMoviePlayerController. É necessário um parâmetro do tipo double, que especifica a posição de reprodução em segundos. Veja abaixo um breve exemplo:

Estenda o MPMoviePlayerController para evitar avisos do compilador:

@interface MPMoviePlayerController (extended)
-(void)setCurrentTime:(double)seconds;
@end

Então você pode chamá-lo sempre que precisar - antes de iniciar ou durante a reprodução.

MPMoviePlayerController* player = [[ MPMoviePlayerController alloc] initWithContentURL:url ];
[ player setCurrentTime:95.0 ];
[ player play ];
0
adicionado
A Apple começou a rejeitar aplicativos que usam APIs não publicadas. E mesmo que seu aplicativo seja aceito, ele pode ser interrompido após qualquer atualização do sistema operacional. Não use APIs não publicadas como esta em aplicativos da App Store, por mais atraente que seja.
adicionado o autor Andrey Tarantsov, fonte

O iPhone SDK 3.0+ tem uma nova propriedade MPMoviePlayerController.initialPlaybackTime para definir a hora de iniciar a reprodução do filme. Isso será "arredondado" para o tempo do quadro-chave anterior mais próximo, portanto, não fornece o posicionamento inicial exato, mas está muito próximo.

0
adicionado
O problema é que nem todos os vídeos têm muitos keyframes. Essa função pode causar problemas de precisão quando o tempo do quadro-chave está longe do tempo necessário.
adicionado o autor Raptor, fonte

player.currentPlaybackTime = time;

0
adicionado