📄 multiple channel audio data and wave files.htm
字号:
bgColor=#7da3bf> </TD>
<TD width=190><IMG height=46
alt="Windows Hardware & Driver Central Home"
src="Multiple Channel Audio Data and WAVE Files.files/whdc_banner_right.gif"
width=190 border=0></TD></TR></TBODY></TABLE>
<DIV
style="PADDING-RIGHT: 15px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
<DIV class=ancestorLinks><NOBR><A
href="http://www.microsoft.com/whdc/hwdev/default.mspx">Design</A> >
</NOBR><NOBR><A
href="http://www.microsoft.com/whdc/hwdev/tech/default.mspx">Technologies</A>
> </NOBR><NOBR><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/default.mspx">Audio /
Speech Input</A></NOBR></DIV>
<H1>Multiple Channel Audio Data and WAVE Files</H1>
<DIV class=date>Updated: December 4, 2001</DIV>
<DIV class=overview><SPAN id=_ctl7_PrinterText>
<P><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud_Print.mspx"><IMG
hspace=5
src="Multiple Channel Audio Data and WAVE Files.files/printIcon.gif"
border=0>Printer Version</A></P></SPAN></DIV>
<CENTER><IMG title="" height=6 alt=*
src="Multiple Channel Audio Data and WAVE Files.files/3squares.gif"
width=30 border=0></CENTER>
<DIV style="HEIGHT: 18px"></DIV>
<TABLE style="MARGIN-LEFT: 15px" cellSpacing=0 cellPadding=0 width=165
align=right border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE>
<H5 style="PADDING-TOP: 2px">On This Page</H5>
<TABLE style="MARGIN-TOP: 7px; MARGIN-BOTTOM: 12px" cellSpacing=0
cellPadding=0 border=0>
<TBODY>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection123121120120"><IMG
height=9 alt=" Introduction " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection123121120120">Introduction
</A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection124121120120"><IMG
height=9 alt=" Multiple Channel Configurations " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection124121120120">Multiple
Channel Configurations </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection125121120120"><IMG
height=9 alt=" Representing High-Resolution Audio " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection125121120120">Representing
High-Resolution Audio </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection126121120120"><IMG
height=9 alt=" Using WAVE_FORMAT_EXTENSIBLE " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection126121120120">Using
WAVE_FORMAT_EXTENSIBLE </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection127121120120"><IMG
height=9 alt=" Definition of WAVE_FORMAT_EXTENSIBLE " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection127121120120">Definition
of WAVE_FORMAT_EXTENSIBLE </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection128121120120"><IMG
height=9 alt=" Details about WAVEFORMATEX Fields " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection128121120120">Details
about WAVEFORMATEX Fields </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection129121120120"><IMG
height=9 alt=" Details about the Samples Union " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection129121120120">Details
about the Samples Union </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection130121120120"><IMG
height=9 alt=" Specifying Channel Locations Using dwChannelMask "
hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection130121120120">Specifying
Channel Locations Using dwChannelMask </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection131121120120"><IMG
height=9 alt=" Details about dwChannelMask " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection131121120120">Details
about dwChannelMask </A></TD></TR>
<TR vAlign=top>
<TD><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection132121120120"><IMG
height=9 alt=" Examples " hspace=4
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_down.gif"
width=7 vspace=2 border=0></A></TD>
<TD class=onThisPage><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#XSLTsection132121120120">Examples
</A></TD></TR></TBODY></TABLE><A name=#XSLTsection122121120120></A>
<H2></H2>
<P>This article describes the standard for storing and transporting
multiple channel audio data using the WAVE file format. The reader should
have a basic understanding of multimedia file formats, and especially of
audio file formats.</P>
<P>This article describes the method used to author multi-channel audio
streams that require well-defined channel/speaker locations. Any of these
formats could be used to indicate the number of bits of precision in a
high-resolution stream.</P>
<DIV style="MARGIN-TOP: 3px; MARGIN-BOTTOM: 10px"><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#top"><IMG
height=9 alt="Top of page"
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_up.gif"
width=7 border=0></A><A class=topOfPage
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#top">Top
of page</A></DIV><A name=#XSLTsection123121120120></A>
<H2>Introduction </H2>
<P>The PC has become a good multimedia platform for today's applications.
CD-quality audio (stereo, 16-bit, 44.1 kHz) is typically the highest audio
quality achieved on the PC platform. As the industry moves forward, new
content is being authored for standards that eclipse those currently
defined. This includes higher sampling rates, greater bit depths, and
multiple channel (greater than stereo) audio streams and playback systems.
In order to keep pace with new data formats and delivery mechanisms, a
standard must be produced to ensure consistency between applications and
hardware.</P>
<P>Microsoft has extended formats that are traditionally mono or stereo
and 8-bit or 16-bit. Basing <B>WAVE_FORMAT_PCM</B> and
<B>WAVE_FORMAT_IEEE_FLOAT</B> on a structure named
<B>WAVEFORMATEXTENSIBLE</B> does this. As a matter of fact, any currently
registered format tag can be extended in the same way by using
<B>WAVEFORMATEXTENSIBLE</B>. Creating a GUID (globally unique identifier)
for the SubFormat field of <B>WAVEFORMATEXTENSIBLE</B> for existing format
tags is done using the macro <B>DEFINE_WAVEFORMATEX_GUID(x)</B> defined in
ksmedia.h. Some of the commonly used GUIDs have static names that can be
used instead of the macro. These names include
<B>KSDATAFORMAT_SUBTYPE_PCM</B>, <B>KSDATAFORMAT_SUBTYPE_IEEE_FLOAT</B>,
<B>KSDATAFORMAT_SUBTYPE_ALAW</B>, <B>KSDATAFORMAT_SUBTYPE_MULAW</B>,
<B>KSDATAFORMAT_SUBTYPE_ADPCM</B>, and
<B>KSDATAFORMAT_SUBTYPE_MPEG</B>.</P>
<P>New formats that do not have a registered format tag just need to
define a new GUID for their format type. Examples of other format GUIDs
that have been defined and do not have a matching registered format tag
are <B>MEDIASUBTYPE_DOLBY_AC3</B>, <B>MEDIASUBTYPE_DVD_LPCM_AUDIO</B>, and
<B>MEDIASUBTYPE_MPEG2_AUDIO</B>.</P>
<P>Using <B>WAVEFORMATEXTENSIBLE</B> allows for specifying certain
channels in the order of speaker configuration defined in this article,
and/or content that indicates the number of actual significant bits in a
sample container. This structure is intended for use in situations where
<B>WAVEFORMATEX</B> is not satisfactory.</P>
<P>The <B>WAVE_FORMAT_EXTENSIBLE</B> format tag defined for the wFormatTag
field of the <B>WAVEFORMATEXTENSIBLE</B> structure indicates that the
SubFormat field of the <B>WAVEFORMATEXTENSIBLE</B> is to be used when
determining the format of the data that the structure describes. Since
this format struct includes a GUID, sub-formats representing
vendor-specific wave protocols or data formats can be defined without
registering new wave format tags with Microsoft.</P>
<DIV style="MARGIN-TOP: 3px; MARGIN-BOTTOM: 10px"><A
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#top"><IMG
height=9 alt="Top of page"
src="Multiple Channel Audio Data and WAVE Files.files/arrow_px_up.gif"
width=7 border=0></A><A class=topOfPage
href="http://www.microsoft.com/whdc/hwdev/tech/audio/multichaud.mspx#top">Top
of page</A></DIV><A name=#XSLTsection124121120120></A>
<H2>Multiple Channel Configurations </H2>
<H3>Ambiguity within WAVE_FORMAT_PCM</H3>
<P>In the traditional interpretation of uncompressed PCM wave formats,
there was no way to connect a given channel to a given speaker in a
multi-speaker configuration. The stereo-speaker configuration was always
assumed, and since <B>nChannels</B> was always one or two, it was easy to
map these to a pair of speakers. Files with <B>nChannels</B> > 2 were
dealt with through proprietary, undocumented mappings, but the range of
possibilities was small because only two speakers (hence two wave outputs)
could be assumed.</P>
<P>With the onset of enhanced audio output configurations such as
quadraphonic (four-corner), 3.1 (front left, front center, front right,
low frequency enhance), 5.1 (front left, front center, front right, back
left, back right, low frequency enhance), and so on, this situation has
changed. The many possible speaker configurations available for both
playback and authoring must be taken into account.</P>
<P>Today, a collection of streams intended for 5.1 delivery would most
likely be streamed as a six-channel file. There still exist, however,
multiple-channel files that are intended as packages of synchronized mono
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -