Spécification de plages de données WMA Pro
Le fichier d’en-tête Mmreg.h définit la valeur 0x0164 comme balise de format d’onde pour WMA Pro-over-S/PDIF :
#define WAVE_FORMAT_WMASPDIF 0x0164
Le GUID de sous-type format correspondant peut être spécifié en termes de balise wave-format à l’aide de la macro DEFINE_WAVEFORMATEX_GUID du fichier d’en-tête Ksmedia.h comme suit :
#define KSDATAFORMAT_SUBTYPE_WMA_SPDIF \
DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_WMASPDIF)
L’exemple de code suivant montre comment un pilote miniport WaveCyclique ou WavePci peut spécifier les entrées de table KSDATARANGE_AUDIO pour une broche qui prend en charge les formats WMA Pro-over-S/PDIF et AC-3-over-S/PDIF :
static KSDATARANGE_AUDIO PinDataRangesSpdifOut[] =
{
// 48-kHz WMA Pro over S/PDIF
{
{
sizeof(KSDATARANGE_AUDIO),
0,
0,
0,
STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO),
STATICGUIDOF(KSDATAFORMAT_SUBTYPE_WMA_SPDIF),
STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
},
2, // Max number of channels
16, // Minimum number of bits per sample
16, // Maximum number of bits per channel
48000, // Minimum rate
48000 // Maximum rate
},
// 44.1-kHz WMA Pro over S/PDIF
{
{
sizeof(KSDATARANGE_AUDIO),
0,
0,
0,
STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO),
STATICGUIDOF(KSDATAFORMAT_SUBTYPE_WMA_SPDIF),
STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
},
2, // Max number of channels
16, // Minimum number of bits per sample
16, // Maximum number of bits per channel
44100, // Minimum rate
44100 // Maximum rate
},
// 48-kHz AC-3 over S/PDIF
{
{
sizeof(KSDATARANGE_AUDIO),
0,
0,
0,
STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO),
STATICGUIDOF(KSDATAFORMAT_SUBTYPE_AC3_SPDIF),
STATICGUIDOF(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX)
},
2, // Max number of channels
16, // Minimum number of bits per sample
16, // Maximum number of bits per channel
48000, // Minimum rate
48000 // Maximum rate
},
};
Dans cet exemple de code, les première et deuxième plages de données spécifient des formats de données WMA Pro-over-S/PDIF à des taux d’échantillonnage de 48 kHz et 44,1 kHz. Avec ces deux options, une application audio peut lire un flux audio WMA Pro enregistré à l’une de ces deux fréquences d’échantillonnage, en supposant que le décodeur externe peut également gérer le taux d’échantillonnage.
La taille de trame de synchronisation WMA Pro est identique à 48 kHz et 44,1 kHz, et les deux plages de données utilisent les mêmes valeurs de paramètre PCM: deux canaux et 16 bits par canal. Pour plus d’informations sur l’utilisation des paramètres PCM afin de spécifier des plages de données pour les formats WMA Pro-over-S/PDIF et AC-3-over-S/PDIF, consultez Transmission de flux non PCM S/PDIF Pass-Through.
La troisième plage de données spécifie un format de données AC-3-over-S/PDIF. Pour plus d’informations, consultez Spécification de plages de données AC-3.
L’exemple précédent n’autorise pas DirectSound à gérer les formats WMA Pro-over-S/PDIF et AC-3-over-S/PDIF non PCM sur Microsoft Windows 2000 SP2 et Windows 98 SE + correctif logiciel. Pour activer cette fonctionnalité, l’exemple de code doit être modifié de sorte que, pour chacune des trois plages de données qui utilise le spécificateur KSDATAFORMAT_SPECIFIER_WAVEFORMATEX, une deuxième plage de données identique soit incluse, sauf qu’elle utilise le spécificateur KSDATAFORMAT_SPECIFIER_DSOUND à la place. Pour obtenir un exemple, consultez Spécification de plages de données AC-3.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour