Condividi tramite


Metodo IAMTimelineObj::SetStartStop

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota

[Deprecata. Questa API può essere rimossa dalle versioni future di Windows.]

 

Il SetStartStop metodo imposta gli orari di inizio e arresto dell'oggetto rispetto all'elemento padre dell'oggetto.

Sintassi

HRESULT SetStartStop(
   REFERENCE_TIME Start,
   REFERENCE_TIME Stop
);

Parametri

Inizia

Nuova ora di inizio, in unità di 100 nanosecondi o -1 per mantenere l'ora di inizio esistente.

Stop

Nuovo tempo di arresto, in unità di 100 nanosecondi o -1 per mantenere il tempo di arresto esistente.

Valore restituito

Restituisce uno dei valori HRESULT seguenti:

Codice restituito Descrizione
S_OK
Operazione completata.
E_INVALIDARG
Argomento non valido.
E_NOTIMPL
Non implementato.

 

Commenti

Le tracce, le composizioni e i gruppi non implementano questo metodo. Per questi oggetti, l'ora di inizio è sempre zero e l'ora di arresto è il tempo massimo di arresto degli oggetti che contengono.

Non impostare tempi sovrapposti sugli oggetti di origine all'interno della stessa traccia. Questa operazione può causare comportamenti non definiti.

Per gli oggetti di origine, gli orari di avvio e arresto sono indipendenti dagli orari di avvio e arresto multimediale. La modifica di una coppia di valori non modifica l'altra. Per impostare l'ora di inizio e arresto del supporto, chiamare il metodo IAMTimelineSrc::SetMediaTimes . Per altre informazioni, vedere Time in DirectShow Editing Services.For more information, see Time in DirectShow Editing Services.

Per ottenere tagli e transizioni accurati dei fotogrammi, impostare i parametri Start e Stop sui limiti dei fotogrammi. È possibile utilizzare il metodo IAMTimelineObj::FixTimes per convertire un valore di ora nel limite di frame più vicino oppure usare la funzione seguente per convertire il numero di frame al tempo di riferimento:

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

Il file di intestazione Qedit.h non è compatibile con le intestazioni Direct3D successive alla versione 7.

 

Nota

Per ottenere Qedit.h, scaricare l'aggiornamento Microsoft Windows SDK per Windows Vista e .NET Framework 3.0. Qedit.h non è disponibile nella Microsoft Windows SDK per Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisiti

Requisito Valore
Intestazione
Qedit.h
Libreria
Strmiids.lib

Vedi anche

Interfaccia IAMTimelineObj

Codici di errore e di esito positivo