博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用纯java捕获和播放音频
阅读量:5122 次
发布时间:2019-06-13

本文共 2369 字,大约阅读时间需要 7 分钟。

参考:

软件包 javax.sound.sampled

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

请参见: 

          

 

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

 

 

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

 

 

 

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

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

软件包分层结构:

类分层结构

  • java.lang.
    • javax.sound.sampled.
    • javax.sound.sampled.
    • javax.sound.sampled.
    • javax.sound.sampled.
    • javax.sound.sampled.
    • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
    • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
    • java.util. (implements java.io.)
      • javax.sound.sampled.
    • java.io. (implements java.io.)
      • javax.sound.sampled.
    • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
    • javax.sound.sampled.
    • javax.sound.sampled.
    • java.security. (implements java.security., java.io.)
      • java.security. (implements java.io.)
        • javax.sound.sampled.
    • javax.sound.sampled.
    • java.lang. (implements java.io.)
      • java.lang.
        • javax.sound.sampled.
        • javax.sound.sampled.

接口分层结构

  • java.util.
    • javax.sound.sampled.
  • javax.sound.sampled.
    • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
      • javax.sound.sampled.
    • javax.sound.sampled.
    • javax.sound.sampled.

转载于:https://www.cnblogs.com/haore147/p/3662536.html

你可能感兴趣的文章
Xcode7添加pch文件(转载)
查看>>
原型与原型链
查看>>
异常及处理
查看>>
测试开发之利器论战
查看>>
黑马程序员---java基础-Java类 继承&抽象&接口
查看>>
轻松精通awk数组企业问题案例
查看>>
第四十一篇 面向对象基础
查看>>
如何求F-闭包、候选码求解、范式判断及BCNF分解
查看>>
Hibernate第七篇【对象状态、一级缓存】
查看>>
day_5:Ajax数据爬取
查看>>
Spark异步job
查看>>
【NetXMS】工具介绍
查看>>
性能分析_linux服务器CPU_CPU利用率
查看>>
booth乘法
查看>>
实现算法2.1的程序
查看>>
设计模式之单例
查看>>
被诅咒的程序员的七宗罪
查看>>
WPF - MVVM - 如何将ComboBox的Selectchange事件binding到ViewModel
查看>>
Console“自服务”读取文件
查看>>
008天(.net学习之路-C#基础知识)
查看>>