Pour implémenter le rappel onSample
[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.]
Le lecteur asynchrone remet des exemples à l’application de contrôle dans l’ordre de présentation en effectuant des appels à la méthode de rappel IWMReaderCallback::OnSample . Lorsque vous créez une application à l’aide du lecteur asynchrone, vous devez implémenter OnSample pour traiter les exemples non compressés. En règle générale, les fonctions ou méthodes créées pour afficher le contenu sont appelées à partir de OnSample.
L’implémentation classique du rappel OnSample comprend les étapes suivantes.
- Récupérez l’emplacement et la taille de la mémoire tampon contenant l’exemple en appelant INSSBuffer::GetBufferAndLength sur la mémoire tampon passée en tant que pSample.
- Branchez votre logique en fonction du numéro de sortie. Le numéro de sortie est passé à OnSample sous la forme dwOutputNumber.
- Incluez la logique de rendu pour chaque numéro de sortie que vous souhaitez prendre en charge. Si vous effectuez un rendu d’exemples à partir de plusieurs sorties, vous devrez peut-être synchroniser votre rendu.
Les applications qui fournissent des exemples compressés à partir de fichiers ASF doivent implémenter la méthode de rappel IWMReaderCallbackAdvanced::OnStreamSample . OnStreamSample fonctionne presque identiquement à OnSample, sauf qu’il reçoit des exemples compressés par numéro de flux au lieu d’exemples non compressés par numéro de sortie.
Rubriques connexes