Lecteur, objet
[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 lecteur source et enregistreur ré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.]
L’objet lecteur lit des exemples de données à partir de fichiers multimédias. L’objet lecteur prend actuellement en charge les fichiers utilisant la structure de fichiers ASF (Advanced Systems Format) ainsi que les fichiers MP3. Les données fournies par l’objet lecteur ne sont pas compressées et prêtes pour le rendu par défaut, bien que des exemples puissent être remis sans être décompressés si vous le souhaitez. Les exemples sont fournis de manière asynchrone à partir de l’objet lecteur ; vous devez configurer une fonction de rappel pour les recevoir. Pour la lecture synchrone des fichiers ASF, utilisez l’objet lecteur synchrone. Ni le lecteur ni le lecteur synchrone ne restituent les données. Vous devez fournir vos propres routines de rendu pour afficher le média récupéré à partir d’un fichier.
Lorsqu’un fichier contient un média encodé qui peut être décodé avec un codec pris en charge par l’objet lecteur, vous pouvez contrôler le format de la sortie non compressée. Pour modifier le format de la sortie décompressée d’un flux, vous devez récupérer l’objet de propriétés multimédias de sortie par défaut pour ce flux, y apporter des modifications et le réaffecter au flux dans le lecteur. Les objets de propriétés de média de sortie sont subordonnés à l’objet lecteur et doivent uniquement être créés à l’aide de la méthode IWMReader::GetOutputProps .
L’objet reader est créé par la fonction WMCreateReader, qui définit un pointeur vers une interface IWMReader . Les autres interfaces de l’objet lecteur peuvent être obtenues en appelant la méthode QueryInterface .
Les interfaces suivantes sont prises en charge par l’objet lecteur.
Interface | Description |
---|---|
IReferenceClock | Fournit l’accès à l’horloge système utilisée par le lecteur. |
IWMDRMReader | Gère l’acquisition de licences, les propriétés DRM et l’individualisation du client. |
IWMDRMReader2 | Fournit l’accès aux licences qui utilisent des niveaux de protection de sortie (OPL) pour spécifier des droits. |
IWMHeaderInfo | Définit et récupère les informations d’en-tête, notamment les métadonnées, les marqueurs et les données de script. |
IWMHeaderInfo2 | Récupère des informations sur les codecs utilisés pour encoder le contenu dans le fichier. Hérite de toutes les méthodes d’IWMHeaderInfo. |
IWMHeaderInfo3 | Prend en charge les grandes tailles d’attributs, les noms d’attributs en double et la prise en charge de plusieurs langues. Hérite de toutes les méthodes de IWMHeaderInfo et IWMHeaderInfo2. |
IWMPacketSize | Récupère la taille du plus grand paquet du fichier chargé dans le lecteur. |
IWMPacketSize2 | Récupère la taille du plus petit paquet du fichier chargé dans le lecteur. |
IWMProfile | Fournit l’accès aux informations de profil du fichier chargé dans le lecteur. |
IWMProfile2 | Récupère l’identificateur global unique (GUID), le cas échéant, associé au profil. Hérite de toutes les méthodes d’IWMProfile. |
IWMProfile3 | Prend en charge le partage de bande passante et les informations de hiérarchisation du flux dans le profil. Hérite de toutes les méthodes de IWMProfile et IWMProfile2. |
IWMReader | Fournit des fonctionnalités de lecture de fichiers de base, y compris des opérations telles que l’ouverture, la fermeture, le démarrage, la pause, la reprise, l’arrêt et l’obtention et la définition des propriétés de sortie. |
IWMReaderAccelerator | Communique avec l’accélération vidéo DirectX. |
IWMReaderAdvanced | Fournit des fonctionnalités avancées du lecteur, telles qu’une horloge fournie par l’utilisateur, l’allocation de mémoire tampon, des statistiques de retour et des notifications de sélection de flux. |
IWMReaderAdvanced2 | Fournit une plage supplémentaire de méthodes avancées pour un objet lecteur existant. Hérite de toutes les méthodes de IWMReaderAdvanced. |
IWMReaderAdvanced3 | Fournit un contrôle avancé de la recherche et de la diffusion en continu. Hérite de toutes les méthodes de IWMReaderAdvanced et IWMReaderAdvanced2. |
IWMReaderAdvanced4 | Fournit des options de lecture avancées, y compris la prise en charge de plusieurs langues. Hérite de toutes les méthodes de IWMReaderAdvanced, IWMReaderAdvanced2 et IWMReaderAdvanced3. |
IWMReaderNetworkConfig | Contrôle les paramètres de configuration réseau. |
IWMReaderNetworkConfig2 | Fournit l’accès aux paramètres de configuration réseau avancés. Hérite de toutes les méthodes d’IWMReaderNetworkConfig. |
IWMReaderStreamClock | Définit et annule les minuteurs sur les horloges de flux et récupère la valeur actuelle d’une horloge de flux spécifiée. |
IWMReaderTimecode | Fournit des informations sur les plages de code de temps SMPTE dans le fichier chargé dans le lecteur. |
IWMReaderTypeNegotiation | Teste si les modifications apportées aux propriétés de sortie d’un flux fonctionnent correctement. |
Les interfaces de rappel suivantes peuvent être implémentées dans l’application pour suivre la progression d’un objet lecteur.
Interface | Description |
---|---|
IWMCredentialCallback | Acquiert les informations d’identification des utilisateurs et vérifie qu’ils ont l’autorisation d’accéder à un site distant. |
IWMReaderAllocatorEx | Fournit des alternatives développées aux méthodes AllocateForOutput et AllocateForStream de l’interface IWMReaderCallbackAdvanced . |
IWMReaderCallback | Fournit des méthodes de rappel pour les méthodes Start et Opend’IWMReader. |
IWMReaderCallbackAdvanced | Fournit des méthodes de rappel pour les méthodes de l’interface IWMReaderAdvanced . |
IWMStatusCallback | Obligatoire lorsque status informations doivent être communiquées à l’application hôte. |
Rubriques connexes