Compartir a través de


Método IMFRateControl::SetRate (mfidl.h)

Establece la velocidad de reproducción.

Sintaxis

HRESULT SetRate(
  [in] BOOL  fThin,
  [in] float flRate
);

Parámetros

[in] fThin

Si es TRUE, las secuencias multimedia se afinan. De lo contrario, la secuencia no está delgada. En el caso de los orígenes multimedia y los demultiplexores, el objeto debe finor las secuencias cuando este parámetro es TRUE. Para las transformaciones de bajada, como descodificadores y multiplexores, este parámetro es informativo; notifica al objeto que los flujos de entrada están finos. Para obtener información, vea Acerca del control de velocidad.

[in] flRate

Velocidad de reproducción solicitada. Los valores positivos indican la reproducción directa, los valores negativos indican la reproducción inversa y cero indica el limpieza (el origen entrega un solo fotograma).

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
MF_E_REVERSE_UNSUPPORTED
El objeto no admite la reproducción inversa.
MF_E_THINNING_UNSUPPORTED
El objeto no admite el fino.
MF_E_UNSUPPORTED_RATE
El objeto no admite la velocidad de reproducción solicitada.
MF_E_UNSUPPORTED_RATE_TRANSITION
El objeto no puede cambiar a la nueva velocidad mientras se encuentra en estado de ejecución.

Comentarios

La sesión multimedia impide algunas transiciones entre límites de velocidad, dependiendo del estado de reproducción actual:

Estado de reproducción Reenvío/inverso Reenvío/cero Inverso/cero
En ejecución No No No
En pausa No No
Detenido
 

Si no se admite la transición, el método devuelve MF_E_UNSUPPORTED_RATE_TRANSITION.

Cuando un origen multimedia completa una llamada a SetRate, envía el evento MESourceRateChanged . Otros componentes de canalización no envían este evento.

Si un origen multimedia cambia entre la reproducción delgada y no delgada, las secuencias envían un evento MEStreamThinMode para indicar la transición. Los eventos del origen multimedia no se sincronizan con eventos de las secuencias multimedia. Después de recibir el evento MESourceRateChanged , todavía puede recibir muestras que se ponen en cola antes de que la secuencia cambie al modo fino o no fino. El evento MEStreamThinMode marca el punto exacto de la secuencia donde se produce la transición.

Cuando la sesión multimedia completa una llamada a SetRate, envía el evento MESessionRateChanged .

Requisitos

   
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado mfidl.h
Library Mfuuid.lib

Consulte también

Cómo establecer la velocidad de reproducción en la sesión multimedia

IMFRateControl