Partager via


Utilisation de récepteurs personnalisés

[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.]

Si vous avez un besoin particulier d’écriture, vous pouvez créer vos propres récepteurs d’écriture. L’enregistreur maintient une communication unidirectionnelle avec un récepteur en effectuant des appels aux méthodes de IWMWriterSink. Pour créer votre propre récepteur, implémentez l’interface IWMWriterSink dans une classe de votre application. Ce processus est très similaire à l’implémentation de toute autre interface de rappel utilisée par les objets du Kit de développement logiciel (SDK) au format Windows Media. Pour plus d’informations sur les rappels, consultez Utilisation des méthodes de rappel.

La mémoire tampon reçue dans IWMWriterSink::OnHeader doit être écrite au début du fichier, et toutes les mémoires tampons reçues dans OnDataUnit doivent être écrites séquentiellement. OnHeader est appelé au début, mais peut également l’être à d’autres moments, et si c’est le cas, vous devez, si possible, remplacer l’en-tête d’origine. Si votre application n’est pas en mesure de le faire pour une raison quelconque, ignorez simplement les appels OnHeader suivants.

Votre récepteur personnalisé doit communiquer ses status à votre application d’écriture en effectuant des appels à la méthode de rappel IWMStatusCallback::OnStatus. Si vous implémentez votre récepteur en tant qu’objet COM, vous pouvez exposer l’interface IWMRegisterCallback . Toutefois, vous pouvez transmettre l’adresse du rappel OnStatus à votre récepteur et définir un contexte comme vous le souhaitez.

Utilisation des récepteurs writer