Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het headerbestand Mmreg.h definieert de waarde 0x0164 de wave-format tag voor WMA Pro-over-S/PDIF:
#define WAVE_FORMAT_WMASPDIF 0x0164
De bijbehorende GUID voor formatsubtype kan als volgt in de vorm van de wave-format tag worden opgegeven met behulp van de macro DEFINE_WAVEFORMATEX_GUID uit het headerbestand Ksmedia.h:
#define KSDATAFORMAT_SUBTYPE_WMA_SPDIF \
DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_WMASPDIF)
In het volgende codevoorbeeld wordt getoond hoe een WaveCyclic of WavePci miniportstuurprogramma de KSDATARANGE_AUDIO tabelvermeldingen kan opgeven voor een pin die de formaten WMA Pro-over-S/PDIF en AC-3-over-S/PDIF ondersteunt.
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
},
};
In dit codevoorbeeld geven de eerste en tweede gegevensbereiken WMA Pro-over-S/PDIF-gegevensindelingen op met steekproefsnelheden van 48 kHz en 44,1 kHz. Met deze twee opties kan een audiotoepassing een WMA Pro-audiostream afspelen die is opgenomen met een van deze twee samplesnelheden, ervan uitgaande dat de externe decoder ook de samplefrequentie kan verwerken.
De GROOTTE van het WMA Pro-synchronisatieframe is hetzelfde op zowel 48 kHz als 44,1 kHz, en beide gegevensbereiken gebruiken dezelfde PCM-parameterwaarden: twee kanalen en 16 bits per kanaal. Zie voor informatie over het gebruik van PCM-parameters voor het opgeven van gegevensbereiken voor WMA Pro over S/PDIF en AC-3 over S/PDIF indelingen, S/PDIF Pass-Through Transmission of Non-PCM Streams.
Het derde gegevensbereik geeft een AC-3-over-S/PDIF-gegevensindeling op. Zie Ac-3-gegevensbereiken opgeven voor meer informatie.
In het voorgaande voorbeeld wordt DirectSound niet ingeschakeld voor het verwerken van de niet-PCM WMA Pro-over-S/PDIF- en AC-3-over-S/PDIF-indelingen op Microsoft Windows 2000 SP2 en Windows 98 SE + hotfix. Als u deze mogelijkheid wilt inschakelen, moet de voorbeeldcode worden gewijzigd, zodat voor elk van de drie gegevensbereiken die gebruikmaken van de KSDATAFORMAT_SPECIFIER_WAVEFORMATEX, een tweede gegevensbereik moet worden opgenomen dat identiek is, behalve dat in plaats daarvan de aanduiding KSDATAFORMAT_SPECIFIER_DSOUND wordt gebruikt. Zie Ac-3-gegevensbereiken opgeven voor een voorbeeld.