/ / Silverlight MediaElement posiciona comportamento estranho - silverlight

Comportamento estranho posição Silverlight MediaElement - silverlight

Estou tentando fazer a navegação quadro a quadro no SL. Até agora, consegui fazê-lo usando Ticks. Mas notei que, se adicionar ticks constantes à posição do mediaelement e remover o valor de MESMO ticks, obtive uma posição diferente.

Por exemplo:

MoviePlayer.Position = MoviePlayer.Position.Add(getFrameDuration());
var X = MoviePlayer.Position.Ticks;
MoviePlayer.Position = MoviePlayer.Position.Substract(getFrameDuration());
var Y = MoviePlayer.Position.Ticks;

X não é igual a Y.

Como isso pode ser??

private TimeSpan getFrameDuration()
{
return new TimeSpan((int)Math.Round(1000 / 29.97* 10000));
}

Respostas:

0 para resposta № 1

Para obter uma boa resposta, você precisa postar o código do getFrameDuration método.

Minha aposta é que getFrameDuration () retorne 0.

EDITAR

Da documentação

Se a mídia não suportar operações de busca(que é o caso de mídia de streaming ao vivo), definir essa propriedade não terá efeito sobre reprodução de mídia. Verifique o valor do CanSeek antes de tentar definir Posição.

Se a posição for configurável, as seguintes restrições de valor em tempo de execução Aplique:

Se a posição estiver definida como um valor negativo, o valor será revertido para um valor TimeSpan com o valor 0: 0: 0.

Se a posição estiver definida como um valor maior que o NaturalDuration da mídia, então o NaturalDuration é definido como Position