利用纯java捕获和播放音频

简介:

参考:

1.http://www.cjsdn.net/doc/jdk60/javax/sound/sampled/package-summary.html

2.http://www.cjsdn.net/doc/jdk60/javax/sound/sampled/package-tree.html

软件包 javax.sound.sampled

提供用于捕获、处理和回放取样的音频数据的接口和类。

请参见: 
          描述

 

接口摘要
Clip Clip 接口表示特殊种类的数据行,该数据行的音频数据可以在回放前加载,而不是实时流出。
DataLine DataLine 将与介质相关的功能添加到其超接口 Line
Line Line 接口表示单声道或多声道音频供给。
LineListener 可以注册实现 LineListener 接口的类的实例来接收行状态更改时发生的事件。
Mixer 混频器是一个具有一行或多行的音频设备。
Port 端口是往返于音频输入或输出线与音频设备之间的简单线路。
SourceDataLine 源数据行是可以写入数据的数据行。
TargetDataLine 目标数据行是可以从中读取音频数据的某种类型的 DataLine

 

 

类摘要
AudioFileFormat AudioFileFormat 类的实例描述音频文件,包括文件类型、文件长度(以字节为单位)、文件中包含的音频数据的长度(以示例帧为单位),以及音频数据的格式。
AudioFileFormat.Type Type 类的实例表示音频文件的标准类型之一。
AudioFormat AudioFormat 是在声音流中指定特定数据安排的类。
AudioFormat.Encoding Encoding 类命名用于音频流的数据表示形式的特定类型。
AudioInputStream 音频输入流是具有指定音频格式和长度的输入流。
AudioPermission AudioPermission 类表示对音频系统资源的访问权限。
AudioSystem AudioSystem 类充当取样音频系统资源的入口点。
BooleanControl BooleanControl 能够在影响行音频的两个可能的设置之间切换。
BooleanControl.Type BooleanControl.Type 类的实例标识一种 boolean 控件。
CompoundControl CompoundControl(如图形均衡器)控制两个或多个相关属性,每个属性本身都表示为 Control
CompoundControl.Type CompoundControl.Type 内部类的实例标识一种组合控件。
Control Line 常常具有一个控件(如 gain 和 pan)集合,这些控件都会影响通过行传递的音频信号。
Control.Type Type 类的实例表示控件的类型。
DataLine.Info 除了继承自其超类的类信息之外,DataLine.Info 还提供特定于数据行的其他信息。
EnumControl EnumControl 提供对一组截然不同的可能值的控制,每个值都由一个对象表示。
EnumControl.Type EnumControl.Type 内部类的实例标识了某种枚举控件。
FloatControl FloatControl 对象提供对浮点值范围的控制。
FloatControl.Type FloatControl.Type 内部类的实例标识了某种 float 控件。
Line.Info Line.Info 对象包含关于行的信息。
LineEvent LineEvent 类封装某一行每次打开、关闭、启动或停止时向其侦听器发送的信息。
LineEvent.Type 该 LineEvent.Type 内部类标识行上所发生事件的种类。
Mixer.Info Mixer.Info 类表示关于音频混频器的信息,包括产品的名称、版本和供应商,以及文本描述。
Port.Info 该 Port.Info 类扩展了具有其他特定于端口的信息的 Line.Info,这些信息包括端口的名称以及该端口是否是其混频器的源或目标。
ReverbType ReverbType 类提供用于访问应用于音频信号的各种回响设置的方法。

 

 

 

异常摘要
LineUnavailableException LineUnavailableException 是指示某一行因为不可用而无法打开的异常。
UnsupportedAudioFileException UnsupportedAudioFileException 是指示因为文件没有包含可识别文件类型和格式的有效数据而致使操作失败的异常。

软件包 javax.sound.sampled 的分层结构

软件包分层结构:
所有软件包

类分层结构

接口分层结构

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3662536.html,如需转载请自行联系原作者
相关文章
|
2月前
|
Java UED
Java中的异常处理:捕获、声明与抛出
Java中的异常处理:捕获、声明与抛出
61 0
|
6月前
|
监控 Oracle Java
Java视频流提取与播放技术详解
Java视频流提取与播放技术详解
|
4月前
|
安全 Java 程序员
Java中的异常Exception和捕获,自定义异常
Java中的异常Exception和捕获,自定义异常
|
9月前
|
Java
java202303java学习笔记第三十五天IO流中不同JDK版本捕获异常的方式1
java202303java学习笔记第三十五天IO流中不同JDK版本捕获异常的方式1
47 0
|
4月前
|
Java
java 自定义异常类并且捕获异常输出信息
java 自定义异常类并且捕获异常输出信息
|
5月前
|
安全 Java 程序员
【Java 异常处理】异常处理机制,内置异常类,如何捕获异常
【Java 异常处理】异常处理机制,内置异常类,如何捕获异常
|
6月前
|
Java 程序员 编译器
[java进阶]——异常详解,try catch捕获异常,抛出异常
[java进阶]——异常详解,try catch捕获异常,抛出异常
|
9月前
|
Java
Java多线程:捕获线程异常
你处理过多线程中的异常吗?如何捕获多线程中发生的异常?捕获子线程的异常与捕获当前线程的异常一样简单吗?
|
10月前
|
存储 JavaScript 算法
重学操作系统----15 | 中断和中断向量:Java/js 等语言为什么可以捕获到键盘输入?
当你拿到一个问题时,需要冷静下来思考和探索解决方案。你可以查资料、看视频或者咨询专家,但是在这之前,你先要进行一定的思考和梳理,有的问题可以直接找到答案,有的问题却需要继续深挖寻找其背后的理论支撑。
137 0
|
11月前
|
Java
java202303java学习笔记第三十五天IO流中不同JDK版本捕获异常的方式2
java202303java学习笔记第三十五天IO流中不同JDK版本捕获异常的方式2
45 0