Android API文档_AudioFormat
来源:互联网 发布:咖喱粉什么牌子好 知乎 编辑:程序博客网 时间:2024/05/16 04:51
概述 软件包 类 使用 树 已过时 索引 帮助 JavaTM 2 Platform
Standard Ed. 6 上一个类 下一个类框架 无框架 所有类摘要: 嵌套 | 字段 | 构造方法 | 方法详细信息: 字段 | 构造方法 | 方法
javax.sound.sampled
类 AudioFormat
java.lang.Object javax.sound.sampled.AudioFormat
public class AudioFormat
- extends Object
AudioFormat
是在声音流中指定特定数据安排的类。通过检查以音频格式存储的信息,可以发现在二进制声音数据中解释位的方式。
每个数据行都有与其数据流相关的音频格式。源(回放)数据行的音频格式指示数据行期望接收输出的数据类型。对于目标(捕获)数据行,音频格式指定可以从该行读取的数据种类。当然,声音文件也有音频格式。
类封装 AudioFileFormat
AudioFormat
以及其他特定于文件的信息。类似地,
具有 AudioInputStream
AudioFormat
。
AudioFormat
类适应多种常见声音文件编码技术,包括脉冲编码调制 (PCM)、mu-law 编码和 a-law 编码。这些编码技术是预先定义的,但服务提供者可以创建新的编码类型。特定格式使用的编码通过其 encoding
字段命名。
除编码外,音频格式还包括进一步指定具体数据安排的其他属性。这些属性包括信道数、采样速率、样本大小、字节顺序、帧速率和帧大小。声音可以有不同数量的音频信道:单声道有一个信道,立体声有两个信道。样本速率测量每信道、每秒钟采用的声压“快照”(样本)数。(如果声音是立体声,而不是单声道,则在每个瞬间实际测量两个样本:一个是左声道,另一个是右声道;不过,样本速率仍测量每个声道的数量,所以不管声道数是多少,速率都一样。这是该术语的标准用途。)样本大小指示用于存储每个快照的位数;典型值是 8 和 16。对于 16 位样本(或大于一个字节大小的任何其他样本),字节顺序很重要;每个样本中的字节要么以 "little-endian" 样式排列,要么以 "big-endian" 样式排列。对于类似 PCM 的编码,帧由在给定时间点上所有声道的样本集合组成,因此帧的大小(以字节为单位)总是等于样本大小(以字节为单位)乘以声道数。不过,使用其他种类的编码,帧可以包含整个系列样本的压缩数据包,以及其他非样本数据。对于这些编码,样本速率和样本大小在将数据解码到 PCM 之后引用该数据,所以它们与帧速率和帧大小完全不同。
AudioFormat
对象可以包括属性的集合。属性是一个键值对:键属于 String
类型,相关属性值可为任意对象。属性指定其他格式规范,如压缩格式的比特率。属性主要用作传送往返于服务提供者的其他音频格式信息的方法。因此,属性在 matches(AudioFormat)
方法中被忽略。不过,依靠已安装的服务提供者的方法(如 (AudioFormat, AudioFormat) isConversionSupported
)可以考虑使用属性,具体取决于各自的服务提供者实现。
下表列出了服务提供者应该使用的一些常见属性(如果适用):
Integer
以位每秒为单位的平均比特率“可变比特率”Boolean
如果文件采用可变比特率 (VBR) 进行编码,则为 true
“音质”Integer
编码/转换质量,1 到 100鼓励服务提供者(插件)的供应商寻找关于其他已经在第三方插件中建立的属性的信息,并遵循相同的约定。
- 从以下版本开始:
- 1.3
- 另请参见:
DataLine.getFormat()
,AudioInputStream.getFormat()
,AudioFileFormat
,FormatConversionProvider
static class
AudioFormat.Encoding
Encoding
类命名用于音频流的数据表示形式的特定类型。 protected boolean
bigEndian
指示是以 big-endian 顺序还是 little-endian 顺序存储音频数据。
protected int
channels
使用此格式的音频信道数(单声道为 1,立体声为 2)。
protected AudioFormat.Encoding
encoding
此格式使用的音频编码技术。
protected float
frameRate
具有此格式的声音每秒播放和录制的帧数。
protected int
frameSize
每个具有此格式的声音帧包含的字节数。
protected float
sampleRate
具有此格式的声音每秒播放或录制的样本数。
protected int
sampleSizeInBits
每个具有此格式的声音样本中的位数。
AudioFormat(AudioFormat.Encoding encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian)
构造具有给定参数的
AudioFormat
。AudioFormat(AudioFormat.Encoding encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian,Map<String,Object> properties)
构造具有给定参数的
AudioFormat
。AudioFormat(float sampleRate, int sampleSizeInBits, int channels, boolean signed, boolean bigEndian)
构造具有线性 PCM 编码和给定参数的
AudioFormat
。 int
getChannels()
获取信道数。
AudioFormat.Encoding
getEncoding()
获取此格式声音的编码类型。
float
getFrameRate()
获取以帧每秒为单位的帧速率。
int
getFrameSize()
获取以字节为单位的帧大小。
Object
getProperty(String key)
获取键指定的属性值。
float
getSampleRate()
获取样本速率。
int
getSampleSizeInBits()
获取样本的大小。
boolean
isBigEndian()
指示是以 big-endian 顺序还是以 little-endian 顺序存储音频数据。
boolean
matches(AudioFormat format)
指示此格式是否与指定格式匹配。
Map<String,Object>
properties()
获取不可修改的属性映射。
String
toString()
返回描述格式的字符串,如:"PCM SIGNED 22050 Hz 16 bit mono big-endian"。
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
encoding
protected AudioFormat.Encoding encoding
- 此格式使用的音频编码技术。
sampleRate
protected float sampleRate
- 具有此格式的声音每秒播放或录制的样本数。
sampleSizeInBits
protected int sampleSizeInBits
- 每个具有此格式的声音样本中的位数。
channels
protected int channels
- 使用此格式的音频信道数(单声道为 1,立体声为 2)。
frameSize
protected int frameSize
- 每个具有此格式的声音帧包含的字节数。
frameRate
protected float frameRate
- 具有此格式的声音每秒播放和录制的帧数。
bigEndian
protected boolean bigEndian
- 指示是以 big-endian 顺序还是 little-endian 顺序存储音频数据。
AudioFormat
public AudioFormat(AudioFormat.Encoding encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian)
- 构造具有给定参数的
AudioFormat
。该编码指定用于表示数据的约定。其他参数在类描述
中进一步解释。- 参数:
encoding
- 音频编码技术sampleRate
- 每秒的样本数sampleSizeInBits
- 每个样本中的位数channels
- 声道数(单声道 1 个,立体声 2 个,等等)frameSize
- 每帧中的字节数frameRate
- 每秒的帧数bigEndian
- 指示是否以 big-endian 字节顺序存储单个样本中的数据(false
意味着 little-endian)。
AudioFormat
public AudioFormat(AudioFormat.Encoding encoding, float sampleRate, int sampleSizeInBits, int channels, int frameSize, float frameRate, boolean bigEndian, Map<String,Object> properties)
- 构造具有给定参数的
AudioFormat
。该编码指定用于表示数据的约定。其他参数在类描述
中进一步解释。- 参数:
encoding
- 音频编码技术sampleRate
- 每秒样本数sampleSizeInBits
- 每个样本中的位数channels
- 声道数(单声道为 1,立体声为 2,等等)frameSize
- 每帧包含的字节数frameRate
- 每秒帧数bigEndian
- 指示是否以 big-endian 字节顺序存储数据(false
意味着 little-endian)properties
- 包含格式属性的Map<String,Object>
对象- 从以下版本开始:
- 1.5
AudioFormat
public AudioFormat(float sampleRate, int sampleSizeInBits, int channels, boolean signed, boolean bigEndian)
- 构造具有线性 PCM 编码和给定参数的
AudioFormat
。将帧大小设置为包含每个声道一个样本所需的字节数,将帧速率设置为样本速率。- 参数:
sampleRate
- 每秒的样本数sampleSizeInBits
- 每个样本中的位数channels
- 声道数(单声道 1 个,立体声 2 个)signed
- 指示数据是有符号的,还是无符号的bigEndian
- 指示是否以 big-endian 字节顺序存储单个样本中的数据(false
意味着 little-endian)。
getEncoding
public AudioFormat.Encoding getEncoding()
- 获取此格式声音的编码类型。
- 返回:
- 编码类型
- 另请参见:
AudioFormat.Encoding.PCM_SIGNED
,AudioFormat.Encoding.PCM_UNSIGNED
,AudioFormat.Encoding.ULAW
,AudioFormat.Encoding.ALAW
getSampleRate
public float getSampleRate()
- 获取样本速率。对于压缩格式,返回值是未压缩音频数据的样本速率。当此 AudioFormat 用于查询(如
AudioSystem.isConversionSupported
)或功能(如DataLine.Info.getFormats
)时,AudioSystem.NOT_SPECIFIED
的样本速率意味着可以接受任何样本速率。当没有为此音频格式定义样本速率时,还会返回AudioSystem.NOT_SPECIFIED
。 - 返回:
- 每秒样本数,或
AudioSystem.NOT_SPECIFIED
- 另请参见:
getFrameRate()
,AudioSystem.NOT_SPECIFIED
getSampleSizeInBits
public int getSampleSizeInBits()
- 获取样本的大小。对于压缩格式,返回值是未压缩音频数据的样本大小。当此 AudioFormat 用于查询(如
AudioSystem.isConversionSupported
)或功能(如DataLine.Info.getFormats
)时,AudioSystem.NOT_SPECIFIED
的样本大小意味着可以接受任何样本大小。当没有为此音频格式定义样本大小时,还会返回AudioSystem.NOT_SPECIFIED
。 - 返回:
- 每个样本中的位数,或
AudioSystem.NOT_SPECIFIED
- 另请参见:
getFrameSize()
,AudioSystem.NOT_SPECIFIED
getChannels
public int getChannels()
- 获取信道数。当此 AudioFormat 用于查询(如
AudioSystem.isConversionSupported
)或功能(如DataLine.Info.getFormats
)时,AudioSystem.NOT_SPECIFIED
的返回值意味着可以接受任何(正)数量的信道。 - 返回:
- 信道数(单声道为 1,立体声为 2,等等),或
AudioSystem.NOT_SPECIFIED
- 另请参见:
AudioSystem.NOT_SPECIFIED
getFrameSize
public int getFrameSize()
- 获取以字节为单位的帧大小。当此 AudioFormat 用于查询(如
AudioSystem.isConversionSupported
)或功能(如DataLine.Info.getFormats
)时,AudioSystem.NOT_SPECIFIED
的帧大小意味着可以接受任何帧大小。当没有为此音频格式定义帧大小时,还会返回AudioSystem.NOT_SPECIFIED
。 - 返回:
- 每帧字节数,或
AudioSystem.NOT_SPECIFIED
- 另请参见:
getSampleSizeInBits()
,AudioSystem.NOT_SPECIFIED
getFrameRate
public float getFrameRate()
- 获取以帧每秒为单位的帧速率。当此 AudioFormat 用于查询(如
AudioSystem.isConversionSupported
)或功能(如DataLine.Info.getFormats
)时,AudioSystem.NOT_SPECIFIED
的帧速率意味着可以接受任何帧速率。当没有为此音频格式定义帧速率时,还会返回AudioSystem.NOT_SPECIFIED
。 - 返回:
- 每秒帧数,或
AudioSystem.NOT_SPECIFIED
- 另请参见:
getSampleRate()
,AudioSystem.NOT_SPECIFIED
isBigEndian
public boolean isBigEndian()
- 指示是以 big-endian 顺序还是以 little-endian 顺序存储音频数据。如果样本大小不超过一个字节,则返回值没有实际意义。
- 返回:
- 如果按 big-endian 字节顺序存储数据,则返回
true
;如果按 little-endian 顺序,则返回false
properties
public Map<String,Object> properties()
- 获取不可修改的属性映射。属性的概念在
类描述
进一步解释。 - 返回:
- 包含所有属性的
Map<String,Object>
对象。如果无法识别任何属性,则返回空映射。 - 从以下版本开始:
- 1.5
- 另请参见:
getProperty(String)
getProperty
public Object getProperty(String key)
- 获取键指定的属性值。属性的概念在
类描述
进一步解释。如果指定属性不是为特定文件格式定义的,则此方法返回
null
。 - 参数:
key
- 所需属性的键- 返回:
- 具有指定键的属性值;如果属性不存在,则返回
null
。 - 从以下版本开始:
- 1.5
- 另请参见:
properties
matches
public boolean matches(AudioFormat format)
- 指示此格式是否与指定格式匹配。所谓匹配是指两种格式的编码、信道数、每个样本的位数以及每帧包含的字节数均必须相同。如果指定格式的采样速率值不为
AudioSystem.NOT_SPECIFIED
(表示任何采样速率均匹配),则这两种格式还必须具有相同的采样速率。如果指定格式的帧速率不为AudioSystem.NOT_SPECIFIED
,则二者的帧速率必须大致相等。如果样本大小大于一个字节,则字节存储顺序(big-endian 或 little-endian)必须匹配。 - 参数:
format
- 要测试是否匹配的格式- 返回:
- 如果此格式与指定格式匹配,则返回
true
;否则,返回false
。
toString
public String toString()
- 返回描述格式的字符串,如:"PCM SIGNED 22050 Hz 16 bit mono big-endian"。字符串的内容可能会因 Java Sound 实现的不同而不同。
- 覆盖:
- 类
Object
中的toString
- 返回:
- 描述格式参数的字符串
概述 软件包 类 使用 树 已过时 索引 帮助 JavaTM 2 Platform
Standard Ed. 6 上一个类 下一个类框架 无框架 所有类摘要: 嵌套 | 字段 | 构造方法 | 方法详细信息: 字段 | 构造方法 | 方法
提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。
- Android API文档_AudioFormat
- android api文档地址
- android中文API文档
- android API 文档
- Android API文档 GridView
- android api 在线文档
- android api文档在线
- Android API 文档
- Android 中文API文档
- Android中文API文档
- android在线API文档
- android 文档api
- IMTalkSDK API文档-Android
- android API文档
- android API文档地址
- Android API 文档阅读技巧
- Android—API中文文档
- Android API中文文档Button
- R.java was modified manually! Reverting to generated version!项目显示红色感叹号
- 无限级联下拉菜单
- web.xml中的Servlet的url-pattern映射规则
- EditPlus配置Java语法自动补全功能
- 为什么使用LINUX(有点长,没耐心别看)大家自己体会
- Android API文档_AudioFormat
- Linux 命令less 技巧 从文件底部往上看
- 大数据究竟是什么?一篇文章让你认识并读懂大数据
- 第13周项目OOP版电子词典
- Win7 x64 无数字签名 驱动安装
- C语言入门教程19-预处理指令1-宏定义
- 相机为什么需要白平衡
- scala编程-函数与闭包
- android SharedPreferences类存储路径、本地数据库路径