Share via


Exemple de filtre asynchrone

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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.]

Description

L’exemple Async Filter est un filtre de lecteur de fichiers qui prend en charge le téléchargement progressif. Cet exemple de filtre implémente les interfaces IAsyncReader et IFileSourceFilter . Il prend en charge les fichiers MPEG, mais pas les fichiers AVI.

Utilisation

Cet exemple inclut une petite application de ligne de commande, Memfile.exe, qui illustre le filtre. Les arguments de ligne de commande spécifient un fichier multimédia et un débit binaire, en kilo-octets par seconde. L’application lit le fichier en mémoire au débit spécifié et lit le fichier. Pour ce faire, il crée une instance du filtre, ajoute le filtre au graphe de filtre et restitue la broche de sortie du filtre.

Sur la ligne de commande, tapez :

Débit de nom de fichier Memfile

L’exemple de filtre Async ne prend pas en charge les fichiers AVI, car il ne peut pas se connecter au filtre de fractionnement AVI . La broche de sortie du filtre Async propose MEDIATYPE_Stream et MEDIASUBTYPE_NULL pour le type de média. La broche d’entrée sur le filtre de fractionnement AVI n’accepte pas MEDIASUBTYPE_NULL et ne propose aucun type de son propre. Par conséquent, la connexion de broche échoue. Le filtre Async peut être amélioré pour offrir des MEDIASUBTYPE_Avi le cas échéant. Par exemple, il peut examiner le format de fichier ou utiliser l’extension de fichier.

Téléchargement de l’exemple

Pour télécharger les exemples du Kit de développement logiciel (SDK) DirectShow, installez la dernière version du Kit de développement logiciel (SDK) Windows.

Cet exemple est installé sous le chemin d’accès suivant : [Racine du SDK]\Samples\Multimedia\DirectShow\Filters\Async.

Exemples DirectShow