755 lines
38 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.sound.sampled
</div>
<h2 class="title" title="Class AudioFormat">Class AudioFormat</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.sound.sampled.AudioFormat</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public class <span class="typeNameLabel">AudioFormat</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span><code>AudioFormat</code>是指定声音流中数据的特定排列的类。</span>
<span>通过检查以音频格式存储的信息,您可以发现如何解释二进制声音数据中的位。</span>
<p> <span>每个数据线都具有与其数据流相关联的音频格式。</span> <span>源(播放)数据线的音频格式表示数据线期望接收哪种类型的数据输出。</span> <span>对于目标(捕获)数据线,音频格式指定可以从该行读取的数据的种类。</span> <span>当然,声音文件也有音频格式。</span> <span>除了其他特定于文件的信息外, <code>AudioFormat</code>还封装了一个<code><a href="../../../javax/sound/sampled/AudioFileFormat.html" title="class in javax.sound.sampled"><code>AudioFileFormat</code></a></code>类。</span> <span>同样, <code><a href="../../../javax/sound/sampled/AudioInputStream.html" title="class in javax.sound.sampled"><code>AudioInputStream</code></a></code>有一个<code>AudioFormat</code></span> </p>
<p> <span><code>AudioFormat</code>类适用于多种常见的声音文件编码技术包括脉码调制PCM多律法编码和法律编码。</span> <span>这些编码技术是预定义的,但服务提供商可以创建新的编码类型。</span> <span>特定格式使用的编码由其<code>encoding</code>字段命名。</span> </p>
<p> <span>除了编码之外,音频格式还包括进一步指定数据的精确排列的其他属性。</span> <span>这些包括通道数,采样率,采样大小,字节顺序,帧速率和帧大小。</span> <span>声音可能具有不同数量的音频通道:一个用于单声道,另一个用于立体声。</span> <span>采样率测量每个通道每秒拍摄多少个“快照”(采样)声压。</span> <span>(如果声音是立体声而不是单声道,则在每个时刻实际测量两个样本:一个用于左声道,另一个用于右声道;但是,采样率仍然测量每个通道的数量,因此速率为不管通道数量如何,这是术语的标准用法。)样本大小表示用于存储每个快照的位数;</span> <span>8和16是典型值。</span> <span>对于16位样本或大于一个字节的任何其他样本大小字节顺序很重要;</span> <span>每个样本中的字节都以“little-endian”或“big-endian”的形式排列。</span> <span>对于像PCM这样的编码帧由给定时间点的所有通道的采样集合组成因此帧的大小以字节为单位总是等于采样的大小以字节为单位乘以数字的渠道。</span> <span>然而,使用一些其他类型的编码,帧可以包含用于整个系列样本的一组压缩数据,以及附加的非样本数据。</span> <span>对于这样的编码采样率和采样大小是指在将其解码成PCM之后的数据因此它们与帧速率和帧大小完全不同。</span> </p>
<p> <span><code>AudioFormat</code>对象可以包含一组属性。</span> <span>属性是一对键和值:键的类型为<code>String</code> ,关联的属性值是任意对象。</span> <span>属性指定其他格式规范,如压缩格式的比特率。</span> <span>属性主要用作将音频格式的附加信息传输到服务提供商和从服务提供商传输的一种手段。</span> <span>因此, <a href="../../../javax/sound/sampled/AudioFormat.html#matches-javax.sound.sampled.AudioFormat-"><code>matches(AudioFormat)</code></a>方法中的<a href="../../../javax/sound/sampled/AudioFormat.html#matches-javax.sound.sampled.AudioFormat-">属性</a>将被忽略。</span> <span>然而,依赖于已安装的服务提供商的方法,如<a href="../../../javax/sound/sampled/AudioSystem.html#isConversionSupported-javax.sound.sampled.AudioFormat.Encoding-javax.sound.sampled.AudioFormat-"><code>(AudioFormat, AudioFormat) isConversionSupported</code></a>可能会考虑属性,具体取决于相应的服务提供商实现。</span> </p>
<p> <span>下表列出了服务提供商应使用的一些常见属性(如果适用):</span> </p>
<span> Audio Format Properties Property key Value type Description "bitrate" <a href="../../../java/lang/Integer.html" title="class in java.lang"><code>Integer</code></a> average bit rate in bits per second "vbr" <a href="../../../java/lang/Boolean.html" title="class in java.lang"><code>Boolean</code></a> <code>true</code>, if the file is encoded in variable bit rate (VBR) "quality" <a href="../../../java/lang/Integer.html" title="class in java.lang"><code>Integer</code></a> encoding/conversion quality, 1..100 </span>
<table border="0">
</table>
<p> <span>鼓励服务供应商(插件)的供应商在第三方插件中查找有关其他已建立的属性的信息,并遵循相同的约定。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.3
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../javax/sound/sampled/DataLine.html#getFormat--"><code>DataLine.getFormat()</code></a> <a href="../../../javax/sound/sampled/AudioInputStream.html#getFormat--"><code>AudioInputStream.getFormat()</code></a> <a href="../../../javax/sound/sampled/AudioFileFormat.html" title="javax.sound.sampled中的类"><code>AudioFileFormat</code></a> <a href="../../../javax/sound/sampled/spi/FormatConversionProvider.html" title="javax.sound.sampled.spi中的类"><code>FormatConversionProvider</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- --> </a> <h3>Nested Class Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption>
<span>Nested Classes</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a></span></code>
<div class="block">
<code>Encoding</code>类命名用于音频流的特定数据表示类型。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#bigEndian">bigEndian</a></span></code>
<div class="block">
指示音频数据是以big-endian还是小端序存储。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#channels">channels</a></span></code>
<div class="block">
这种格式的音频通道的数量1为mono2为立体声
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#encoding">encoding</a></span></code>
<div class="block">
这种格式使用的音频编码技术。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#frameRate">frameRate</a></span></code>
<div class="block">
每秒播放或录制的帧数,具有这种格式的声音。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#frameSize">frameSize</a></span></code>
<div class="block">
具有此格式的声音每帧中的字节数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#sampleRate">sampleRate</a></span></code>
<div class="block">
每秒播放或录制的样本数,具有这种格式的声音。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#sampleSizeInBits">sampleSizeInBits</a></span></code>
<div class="block">
具有此格式的声音的每个样本中的位数。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#AudioFormat-javax.sound.sampled.AudioFormat.Encoding-float-int-int-int-float-boolean-">AudioFormat</a></span>(<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a> encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian)</code>
<div class="block">
构造一个
<code>AudioFormat</code>具有给定参数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#AudioFormat-javax.sound.sampled.AudioFormat.Encoding-float-int-int-int-float-boolean-java.util.Map-">AudioFormat</a></span>(<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a> encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian, <a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt; properties)</code>
<div class="block">
构造一个
<code>AudioFormat</code>具有给定参数。
</div> </td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#AudioFormat-float-int-int-boolean-boolean-">AudioFormat</a></span>(float sampleRate, int sampleSizeInBits, int channels, boolean signed, boolean bigEndian)</code>
<div class="block">
构造一个
<code>AudioFormat</code>用线性PCM编码和给定的参数。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getChannels--">getChannels</a></span>()</code>
<div class="block">
获取频道数量。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getEncoding--">getEncoding</a></span>()</code>
<div class="block">
获取此格式的声音编码类型。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getFrameRate--">getFrameRate</a></span>()</code>
<div class="block">
以帧/秒获取帧速率。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getFrameSize--">getFrameSize</a></span>()</code>
<div class="block">
以字节获取帧大小。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getProperty-java.lang.String-">getProperty</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> key)</code>
<div class="block">
获取由密钥指定的属性值。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getSampleRate--">getSampleRate</a></span>()</code>
<div class="block">
获取采样率。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#getSampleSizeInBits--">getSampleSizeInBits</a></span>()</code>
<div class="block">
获取样本的大小。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#isBigEndian--">isBigEndian</a></span>()</code>
<div class="block">
指示音频数据是以big-endian还是小端字节顺序存储。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#matches-javax.sound.sampled.AudioFormat-">matches</a></span>(<a href="../../../javax/sound/sampled/AudioFormat.html" title="class in javax.sound.sampled">AudioFormat</a> format)</code>
<div class="block">
指示此格式是否与指定的格式相匹配。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#properties--">properties</a></span>()</code>
<div class="block">
获取不可修改的属性地图。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/sound/sampled/AudioFormat.html#toString--">toString</a></span>()</code>
<div class="block">
返回描述格式的字符串“PCM SIGNED 22050 Hz 16 bit mono big-endian”。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="encoding">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>encoding</h4> <pre>protected <a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a> encoding</pre>
<div class="block">
这种格式使用的音频编码技术。
</div> </li>
</ul> <a name="sampleRate">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sampleRate</h4> <pre>protected float sampleRate</pre>
<div class="block">
每秒播放或录制的样本数,具有这种格式的声音。
</div> </li>
</ul> <a name="sampleSizeInBits">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sampleSizeInBits</h4> <pre>protected int sampleSizeInBits</pre>
<div class="block">
具有此格式的声音的每个样本中的位数。
</div> </li>
</ul> <a name="channels">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>channels</h4> <pre>protected int channels</pre>
<div class="block">
这种格式的音频通道的数量1为mono2为立体声
</div> </li>
</ul> <a name="frameSize">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>frameSize</h4> <pre>protected int frameSize</pre>
<div class="block">
具有此格式的声音每帧中的字节数。
</div> </li>
</ul> <a name="frameRate">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>frameRate</h4> <pre>protected float frameRate</pre>
<div class="block">
每秒播放或录制的帧数,具有这种格式的声音。
</div> </li>
</ul> <a name="bigEndian">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>bigEndian</h4> <pre>protected boolean bigEndian</pre>
<div class="block">
指示音频数据是以big-endian还是小端序存储。
</div> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="AudioFormat-javax.sound.sampled.AudioFormat.Encoding-float-int-int-int-float-boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>AudioFormat</h4> <pre>public AudioFormat(<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a> encoding,
float sampleRate,
int sampleSizeInBits,
int channels,
int frameSize,
float frameRate,
boolean bigEndian)</pre>
<div class="block">
<span>构造一个<code>AudioFormat</code>具有给定参数。</span>
<span>编码指定用于表示数据的约定。</span>
<span>其他参数在<code>class description</code>中进一步<a href="../../../javax/sound/sampled/AudioFormat.html" title="javax.sound.sampled中的类">解释</a></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>encoding</code> - 音频编码技术
</dd>
<dd>
<code>sampleRate</code> - 每秒采样数
</dd>
<dd>
<code>sampleSizeInBits</code> - 每个样本中的位数
</dd>
<dd>
<code>channels</code> - 通道数1为mono2为立体声等
</dd>
<dd>
<code>frameSize</code> - 每个帧中的字节数
</dd>
<dd>
<code>frameRate</code> - 每秒的帧数
</dd>
<dd>
<code>bigEndian</code> - 指示单个样本的数据是否以大字节顺序存储(
<code>false</code>表示小尾数)
</dd>
</dl> </li>
</ul> <a name="AudioFormat-javax.sound.sampled.AudioFormat.Encoding-float-int-int-int-float-boolean-java.util.Map-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>AudioFormat</h4> <pre>public AudioFormat(<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a> encoding,
float sampleRate,
int sampleSizeInBits,
int channels,
int frameSize,
float frameRate,
boolean bigEndian,
<a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt; properties)</pre>
<div class="block">
<span>构造一个<code>AudioFormat</code>具有给定参数。</span>
<span>编码指定用于表示数据的约定。</span>
<span>其他参数在<code>class description</code>中进一步<a href="../../../javax/sound/sampled/AudioFormat.html" title="javax.sound.sampled中的类">解释</a></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>encoding</code> - 音频编码技术
</dd>
<dd>
<code>sampleRate</code> - 每秒样品数
</dd>
<dd>
<code>sampleSizeInBits</code> - 每个样本中的位数
</dd>
<dd>
<code>channels</code> - 频道数1为mono2为立体声等
</dd>
<dd>
<code>frameSize</code> - 每帧中的字节数
</dd>
<dd>
<code>frameRate</code> - 每秒的帧数
</dd>
<dd>
<code>bigEndian</code> - 指示单个样本的数据是否以大字节顺序存储(
<code>false</code>表示小端)
</dd>
<dd>
<code>properties</code> - 一个包含格式属性的
<code>Map&lt;String,Object&gt;</code>对象
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> <a name="AudioFormat-float-int-int-boolean-boolean-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AudioFormat</h4> <pre>public AudioFormat(float sampleRate,
int sampleSizeInBits,
int channels,
boolean signed,
boolean bigEndian)</pre>
<div class="block">
<span>构造一个<code>AudioFormat</code>用线性PCM编码和给定的参数。</span>
<span>帧大小设置为从每个通道包含一个采样所需的字节数,并将帧速率设置为采样率。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>sampleRate</code> - 每秒样品数
</dd>
<dd>
<code>sampleSizeInBits</code> - 每个样本中的位数
</dd>
<dd>
<code>channels</code> - 通道数1为mono2为立体声等
</dd>
<dd>
<code>signed</code> - 表示数据是签名还是无符号
</dd>
<dd>
<code>bigEndian</code> - 指示单个样本的数据是否以大字节顺序存储(
<code>false</code>表示小端)
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getEncoding--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getEncoding</h4> <pre>public <a href="../../../javax/sound/sampled/AudioFormat.Encoding.html" title="class in javax.sound.sampled">AudioFormat.Encoding</a> getEncoding()</pre>
<div class="block">
获取此格式的声音编码类型。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
编码类型
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html#PCM_SIGNED"><code>AudioFormat.Encoding.PCM_SIGNED</code></a>
<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html#PCM_UNSIGNED"><code>AudioFormat.Encoding.PCM_UNSIGNED</code></a>
<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html#ULAW"><code>AudioFormat.Encoding.ULAW</code></a>
<a href="../../../javax/sound/sampled/AudioFormat.Encoding.html#ALAW"><code>AudioFormat.Encoding.ALAW</code></a>
</dd>
</dl> </li>
</ul> <a name="getSampleRate--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSampleRate</h4> <pre>public float getSampleRate()</pre>
<div class="block">
<span>获取采样率。</span>
<span>对于压缩格式,返回值是未压缩音频数据的采样率。</span>
<span>当此AudioFormat的用于查询例如<a href="../../../javax/sound/sampled/AudioSystem.html#isConversionSupported-javax.sound.sampled.AudioFormat-javax.sound.sampled.AudioFormat-"><code>AudioSystem.isConversionSupported</code></a> )或能力(例如<a href="../../../javax/sound/sampled/DataLine.Info.html#getFormats--"><code>DataLine.Info.getFormats</code></a> ),的采样速率<code>AudioSystem.NOT_SPECIFIED</code>意味着任何采样率是可接受的。</span>
<span>当没有为此音频格式定义采样率时,也会返回<code>AudioSystem.NOT_SPECIFIED</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
每秒采样数量,或
<code>AudioSystem.NOT_SPECIFIED</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.html#getFrameRate--"><code>getFrameRate()</code></a>
<a href="../../../javax/sound/sampled/AudioSystem.html#NOT_SPECIFIED"><code>AudioSystem.NOT_SPECIFIED</code></a>
</dd>
</dl> </li>
</ul> <a name="getSampleSizeInBits--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSampleSizeInBits</h4> <pre>public int getSampleSizeInBits()</pre>
<div class="block">
<span>获取样本的大小。</span>
<span>对于压缩格式,返回值是未压缩音频数据的样本大小。</span>
<span>当此AudioFormat的用于查询例如<a href="../../../javax/sound/sampled/AudioSystem.html#isConversionSupported-javax.sound.sampled.AudioFormat-javax.sound.sampled.AudioFormat-"><code>AudioSystem.isConversionSupported</code></a> )或能力(例如<a href="../../../javax/sound/sampled/DataLine.Info.html#getFormats--"><code>DataLine.Info.getFormats</code></a> ),样品大小<code>AudioSystem.NOT_SPECIFIED</code>意味着任何样本尺寸是可接受的。</span>
<span>当样本大小未为此音频格式定义时,也会返回<code>AudioSystem.NOT_SPECIFIED</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
每个样本中的位数,或
<code>AudioSystem.NOT_SPECIFIED</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.html#getFrameSize--"><code>getFrameSize()</code></a>
<a href="../../../javax/sound/sampled/AudioSystem.html#NOT_SPECIFIED"><code>AudioSystem.NOT_SPECIFIED</code></a>
</dd>
</dl> </li>
</ul> <a name="getChannels--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getChannels</h4> <pre>public int getChannels()</pre>
<div class="block">
<span>获取频道数量。</span>
<span>当AudioFormat用于查询例如<a href="../../../javax/sound/sampled/AudioSystem.html#isConversionSupported-javax.sound.sampled.AudioFormat-javax.sound.sampled.AudioFormat-"><code>AudioSystem.isConversionSupported</code></a> )或功能(例如<a href="../../../javax/sound/sampled/DataLine.Info.html#getFormats--"><code>DataLine.Info.getFormats</code></a> )时,返回值为<code>AudioSystem.NOT_SPECIFIED</code>表示任何(正)数量的通道是可接受的。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
通道数1为mono2为立体声等
<code>AudioSystem.NOT_SPECIFIED</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioSystem.html#NOT_SPECIFIED"><code>AudioSystem.NOT_SPECIFIED</code></a>
</dd>
</dl> </li>
</ul> <a name="getFrameSize--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getFrameSize</h4> <pre>public int getFrameSize()</pre>
<div class="block">
<span>以字节获取帧大小。</span>
<span>当AudioFormat用于查询例如<a href="../../../javax/sound/sampled/AudioSystem.html#isConversionSupported-javax.sound.sampled.AudioFormat-javax.sound.sampled.AudioFormat-"><code>AudioSystem.isConversionSupported</code></a> )或功能(例如<a href="../../../javax/sound/sampled/DataLine.Info.html#getFormats--"><code>DataLine.Info.getFormats</code></a> )时,帧大小为<code>AudioSystem.NOT_SPECIFIED</code>意味着任何帧大小都可以接受。</span>
<span>当没有为此音频格式定义帧大小时,也会返回<code>AudioSystem.NOT_SPECIFIED</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
每帧的字节数,或
<code>AudioSystem.NOT_SPECIFIED</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.html#getSampleSizeInBits--"><code>getSampleSizeInBits()</code></a>
<a href="../../../javax/sound/sampled/AudioSystem.html#NOT_SPECIFIED"><code>AudioSystem.NOT_SPECIFIED</code></a>
</dd>
</dl> </li>
</ul> <a name="getFrameRate--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getFrameRate</h4> <pre>public float getFrameRate()</pre>
<div class="block">
<span>以帧/秒获取帧速率。</span>
<span>当此AudioFormat的用于查询例如<a href="../../../javax/sound/sampled/AudioSystem.html#isConversionSupported-javax.sound.sampled.AudioFormat-javax.sound.sampled.AudioFormat-"><code>AudioSystem.isConversionSupported</code></a> )或能力(例如<a href="../../../javax/sound/sampled/DataLine.Info.html#getFormats--"><code>DataLine.Info.getFormats</code></a> ),的帧速率<code>AudioSystem.NOT_SPECIFIED</code>意味着任何帧速率是可以接受的。</span>
<span>当没有为此音频格式定义帧速率时,也会返回<code>AudioSystem.NOT_SPECIFIED</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
每秒的帧数,或
<code>AudioSystem.NOT_SPECIFIED</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.html#getSampleRate--"><code>getSampleRate()</code></a>
<a href="../../../javax/sound/sampled/AudioSystem.html#NOT_SPECIFIED"><code>AudioSystem.NOT_SPECIFIED</code></a>
</dd>
</dl> </li>
</ul> <a name="isBigEndian--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isBigEndian</h4> <pre>public boolean isBigEndian()</pre>
<div class="block">
<span>指示音频数据是以big-endian还是小端字节顺序存储。</span>
<span>如果样本大小不超过一个字节,返回值是无关紧要的。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果数据以big-endian字节顺序存储
<code>false</code>如果是小端
</dd>
</dl> </li>
</ul> <a name="properties--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>properties</h4> <pre>public <a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>&gt; properties()</pre>
<div class="block">
<span>获取不可修改的属性地图。</span>
<span>属性的概念在<code>class description</code>中进一步<a href="../../../javax/sound/sampled/AudioFileFormat.html" title="javax.sound.sampled中的类">解释</a></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>一个<code>Map&lt;String,Object&gt;</code>所有属性的<code>Map&lt;String,Object&gt;</code>对象。</span>
<span>如果没有属性被识别,则返回空的地图。</span>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.html#getProperty-java.lang.String-"><code>getProperty(String)</code></a>
</dd>
</dl> </li>
</ul> <a name="getProperty-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProperty</h4> <pre>public <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getProperty(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> key)</pre>
<div class="block">
<span>获取由密钥指定的属性值。</span>
<span>属性的概念在<code>class description</code>中进一步<a href="../../../javax/sound/sampled/AudioFileFormat.html" title="javax.sound.sampled中的类">解释</a></span>
<p> <span>如果未为特定文件格式定义指定的属性,则此方法返回<code>null</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 所需属性的关键
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
具有指定键的属性的值,如果属性不存在,
<code>null</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/sound/sampled/AudioFormat.html#properties--"><code>properties()</code></a>
</dd>
</dl> </li>
</ul> <a name="matches-javax.sound.sampled.AudioFormat-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>matches</h4> <pre>public boolean matches(<a href="../../../javax/sound/sampled/AudioFormat.html" title="class in javax.sound.sampled">AudioFormat</a> format)</pre>
<div class="block">
<span>指示此格式是否与指定的格式相匹配。</span>
<span>要匹配,两种格式必须具有相同的编码,以及通道数,采样率,采样大小,帧速率和帧大小的一致值。</span>
<span>如果属性值相等或属性值为<code>AudioSystem.NOT_SPECIFIED</code>则该属性的值是<code>AudioSystem.NOT_SPECIFIED</code></span>
<span>如果样本大小大于一个字节则字节顺序big-endian或little-endian必须相同。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>format</code> - 测试匹配的格式
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果此格式与指定的格式匹配,
<code>false</code> false。
</dd>
</dl> </li>
</ul> <a name="toString--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>toString</h4> <pre>public <a href="../../../java/lang/String.html" title="class in java.lang">String</a> toString()</pre>
<div class="block">
<span>返回描述格式的字符串“PCM SIGNED 22050 Hz 16 bit mono big-endian”。</span>
<span>字符串的内容可能因Java Sound的实现而异。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../java/lang/Object.html#toString--">toString</a></code>在类别
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
a string that describes the format parameters
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>