Como você obtém uma reprodução suave de alta taxa do AVPlayer?
AVPlayer
tem uma propriedade chamadarate
isso serve para controlar a taxa de reprodução.1.0
é a velocidade normal, enquanto valores como2.0
ou5.0
deve reproduzir em 2x e 5x, respectivamente.
Sempre que eu defino um valor de taxa de reprodução maior que1.0
(dizer10.0
), a reprodução é muito instável e parece que um grande número de quadros está caindo, pois o player não consegue acompanhar.
No entanto, os mesmos valores no QuickTime Player (com o mesmo filme) produzem uma reprodução suave para taxas de2x, 5x, 10x, 30x and 60x
(conforme relatado pelo QuickTime Player).
Criei um aplicativo de teste do OS X que não contém nada além de umAVPlayerView
e dois botões para definir a taxa de reprodução. Uma taxa de1.0
funciona como esperado, mas uma taxa de10.0
produz uma reprodução muito irregular.
No entanto, oAVPlayerView
tem uma peculiaridade peculiar: se você clicar com o mouse na linha do tempo da reprodução para procurar outro local (enquanto estiver tocando em 10x e irregular), então oAVPlayerView
irá "consertar" a reprodução e o filme será reproduzido sem problemas em 10x. Bastava clicar na linha do tempo da reprodução.
Alguém sabe como obter uma reprodução suave para taxas diferentes de 1x? Obviamente, não é um problema de hardware ou de tamanho do arquivo, porque o QuickTime Player e o AVPlayerView podem fazer isso.
Tentativas
estePergunta, questão sugere que pode haver um problema de áudio (e, de fato, o QuickTime Player e o AVPlayerView silenciam o áudio ao encaminhar), mas todas as minhas tentativas de desativar todas as faixas de áudio, silenciar todas as faixas ou alterar o algoritmo de afinação de áudio não pareciam causar um problema. diferença. A reprodução ainda estava instável, mesmo quando não havia áudio presente.
Eu também tentei parar a reprodução e depois ligarprerollAtRate:completionHandler
com a nova taxa, mas isso também não faz diferença.
O que o QuickTime Player e o AVPlayerView estão fazendo para permitir uma reprodução suave de filmes com taxas de 10x, 30x ou até 60x?