Ajout d’une source
[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.]
[Cette API n’est pas prise en charge et peut être modifiée ou indisponible à l’avenir.]
Créez un objet source de la même façon que vous créez d’autres objets chronologie. Toutefois, avant de l’insérer dans le chronologie, vous devez spécifier au moins les propriétés suivantes sur la source.
- Heures de début et d’arrêt, par rapport au chronologie. Appelez la méthode IAMTimelineObj::SetStartStop .
- Fichier multimédia à utiliser comme source. Appelez la méthode IAMTimelineSrc::SetMediaName avec une chaîne à caractères larges représentant le nom du fichier.
- Heures de démarrage et d’arrêt du média, qui sont relatives au fichier d’origine. Appelez la méthode IAMTimelineSrc::SetMediaTimes . Pour plus d’informations sur les temps multimédias, consultez Time in DirectShow Editing Services.
Dans l’exemple suivant, le clip source démarre quatre secondes dans le fichier. La durée du média est de 10 secondes, soit deux fois la longueur de la chronologie durée, ce qui signifie que la source sera lue à une vitesse deux fois normale. La constante UNITS est définie comme 100000000 (10^7) et est égale à une seconde.
pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile);
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);
Notes
Actuellement, DES ne peut pas afficher simultanément plus de 75 sources qui ont été compressées avec des codecs VCM (Video Compression Manager). En outre, si le projet dans son ensemble contient plus de 75 sources de ce type, vous devez utiliser la reconnexion dynamique ou DES ne peut pas afficher un aperçu du projet. Pour plus d’informations, consultez IRenderEngine::SetDynamicReconnectLevel.
Pour plus d’informations sur les sources, consultez Utilisation des sources.
Rubriques connexes