Compartir a través de


IAMTimelineObj::SetStartStop (método)

[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.

Nota:

[Desusado. Esta API se puede quitar de futuras versiones de Windows.]

 

El SetStartStop método establece las horas de inicio y detención del objeto, en relación con el elemento primario del objeto.

Sintaxis

HRESULT SetStartStop(
   REFERENCE_TIME Start,
   REFERENCE_TIME Stop
);

Parámetros

Iniciar

Nueva hora de inicio, en unidades de 100 nanosegundos o –1 para mantener la hora de inicio existente.

Detención

Nueva hora de detención, en unidades de 100 nanosegundos o –1 para mantener el tiempo de detención existente.

Valor devuelto

Devuelve uno de los siguientes valores HRESULT :

Código devuelto Descripción
S_OK
Correcto.
E_INVALIDARG
Argumento no válido.
E_NOTIMPL
Sin implementar.

 

Observaciones

Las pistas, las composiciones y los grupos no implementan este método. Para estos objetos, la hora de inicio siempre es cero y el tiempo de detención es el tiempo máximo de detención de los objetos que contienen.

No establezca tiempos superpuestos en objetos de origen dentro de la misma pista. Si lo hace, puede provocar comportamientos no definidos.

En el caso de los objetos de origen, las horas de inicio y detención son independientes de los tiempos de inicio y detención de medios. Cambiar un par de valores no cambia el otro. Para establecer las horas de inicio y detención multimedia, llame al método IAMTimelineSrc::SetMediaTimes . Para obtener más información, vea Hora en DirectShow Editing Services.

Para obtener cortes y transiciones precisos de fotogramas, establezca los parámetros Start y Stop en límites de marco. Puede usar el método IAMTimelineObj::FixTimes para convertir un valor de hora en el límite de fotograma más cercano o usar la siguiente función para convertir del número de fotograma al tiempo de referencia:

REFERENCE_TIME inline FrameNumToTime(LONGLONG frame, double fps)
{
    double dt = (frame * 10000000 / fps);
    if (frame >= 0) 
    {
        dt += 0.5;    }
    else
    {
        dt -= 0.5;
    }
    return (REFERENCE_TIME)dt;
}

Nota:

El archivo de encabezado Qedit.h no es compatible con los encabezados de Direct3D posteriores a la versión 7.

 

Nota:

Para obtener Qedit.h, descargue la actualización de Microsoft Windows SDK para Windows Vista y .NET Framework 3.0. Qedit.h no está disponible en el Microsoft Windows SDK para Windows 7 y .NET Framework 3.5 Service Pack 1.

 

Requisitos

Requisito Value
Encabezado
Qedit.h
Biblioteca
Strmiids.lib

Consulte también

IAMTimelineObj (interfaz)

Códigos de error y éxito