Establecer la velocidad de reproducción

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Para cambiar la velocidad de reproducción, llame al método IMediaSeeking::SetRate . Especifique la nueva tasa como una fracción de la tasa original. Por ejemplo, para jugar a velocidad doble normal, use lo siguiente:

pSeek->SetRate(2.0)

Las tasas mayores que una son más rápidas que las normales. Las tasas entre cero y una son más lentas de lo normal. Las tasas negativas se definen como reproducción hacia atrás, pero en la práctica la mayoría de los filtros no lo admiten. Actualmente ninguno de los filtros DirectShow estándar admite la reproducción inversa.

Independientemente de la velocidad de reproducción, la posición actual y la posición de detención siempre se expresan en relación con el origen original. Por ejemplo, si un archivo de origen es de 20 segundos de duración a velocidad de reproducción normal, si se establece la posición actual en 10 segundos, se buscará en el medio del archivo. Si la velocidad de reproducción es de 2,0, la posición de detención es de 20 segundos y busca la posición de 10 segundos, el archivo se reproducirá durante 5 segundos de tiempo real: 10 segundos, con el doble de velocidad de reproducción normal. A una velocidad de reproducción de 2,0, la posición actual aumenta dos veces la velocidad del reloj de referencia.