Partager via


IAMTimelineObj::SetStartStop, méthode

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Notes

[Déconseillé. Cette API peut être supprimée des versions ultérieures de Windows.]

 

La SetStartStop méthode définit les heures de début et d’arrêt de l’objet, par rapport au parent de l’objet.

Syntaxe

HRESULT SetStartStop(
   REFERENCE_TIME Start,
   REFERENCE_TIME Stop
);

Paramètres

Start

Nouvelle heure de début, en unités de 100 nanosecondes, ou –1 pour conserver l’heure de début existante.

Stop

Nouvelle heure d’arrêt, en unités de 100 nanosecondes, ou –1 pour conserver l’heure d’arrêt existante.

Valeur renvoyée

Retourne l’une des valeurs HRESULT suivantes :

Code de retour Description
S_OK
Opération réussie.
E_INVALIDARG
Argument non valide.
E_NOTIMPL
Non implémenté.

 

Notes

Les pistes, les compositions et les groupes n’implémentent pas cette méthode. Pour ces objets, l’heure de début est toujours égale à zéro, et l’heure d’arrêt est l’heure d’arrêt maximale des objets qu’ils contiennent.

Ne définissez pas les heures de chevauchement sur les objets sources au sein de la même piste. Cela peut entraîner des comportements non définis.

Pour les objets sources, les heures de début et d’arrêt sont indépendantes des heures de démarrage et d’arrêt du média. La modification d’une paire de valeurs ne modifie pas l’autre. Pour définir les heures de démarrage et d’arrêt du média, appelez la méthode IAMTimelineSrc::SetMediaTimes . Pour plus d’informations, consultez Time in DirectShow Editing Services.

Pour obtenir des coupes et des transitions précises, définissez les paramètres Start et Stop sur les limites de l’image. Vous pouvez utiliser la méthode IAMTimelineObj::FixTimes pour convertir une valeur d’heure en la limite d’image la plus proche, ou utiliser la fonction suivante pour convertir le numéro d’image en heure de référence :

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;
}

Notes

Le fichier d’en-tête Qedit.h n’est pas compatible avec les en-têtes Direct3D ultérieurs à la version 7.

 

Notes

Pour obtenir Qedit.h, téléchargez Microsoft Windows SDK Update pour Windows Vista et .NET Framework 3.0. Qedit.h n’est pas disponible dans le Microsoft Windows SDK pour Windows 7 et .NET Framework 3.5 Service Pack 1.

 

Configuration requise

Condition requise Valeur
En-tête
Qedit.h
Bibliothèque
Strmiids.lib

Voir aussi

IAMTimelineObj, interface

Codes d’erreur et de réussite