Pour créer un lecteur et ouvrir un fichier
[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par le lecteur source et l’enregistreurrécepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, 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.]
Avant de pouvoir effectuer un travail avec le lecteur, vous devez créer un objet lecteur et charger un fichier à lire. Pour initialiser le lecteur et ouvrir un fichier, procédez comme suit.
- Créez un objet reader en appelant la fonction WMCreateReader . Vous devez spécifier le niveau de gestion des droits souhaité pour le nouvel objet lecteur. Les modes disponibles sont répertoriés dans le type d’énumération WMT_RIGHTS .
- Spécifiez un fichier à lire en appelant IWMReader::Open. Vous devez spécifier une interface de rappel de lecteur que le lecteur doit utiliser. Pour plus d’informations sur le rappel de lecteur, consultez Pour implémenter des messages de lecteur dans le rappel OnStatus.
- Attendez que le lecteur ouvre le fichier. Lorsque vous appelez Open pour charger un fichier, il retourne presque immédiatement et continue le traitement sur un autre thread. Vous devez attendre que les opérations se terminent, en signalant un événement lorsque le rappel OnStatus reçoit le message WMT_OPENED status.
Le lecteur prend également en charge l’utilisation de l’interface COM IStream pour ouvrir des fichiers. Vous pouvez implémenter l’interface IStream comme vous le souhaitez. Une fois le fichier souhaité ouvert dans IStream, vous pouvez suivre les étapes ci-dessus, sauf que vous devez appeler IWMReaderAdvanced2::OpenStream au lieu de IWMReader::Open à l’étape 2.