利用纯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 接口表示单声道或多声道音频供给。 |
| LineListener | 可以注册实现 LineListener 接口的类的实例来接收行状态更改时发生的事件。 |
| Mixer | 混频器是一个具有一行或多行的音频设备。 |
| Port | 端口是往返于音频输入或输出线与音频设备之间的简单线路。 |
| SourceDataLine | 源数据行是可以写入数据的数据行。 |
| TargetDataLine | 目标数据行是可以从中读取音频数据的某种类型的 。 |
| 类摘要 | |
|---|---|
| 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 类扩展了具有其他特定于端口的信息的 ,这些信息包括端口的名称以及该端口是否是其混频器的源或目标。 |
| ReverbType | ReverbType 类提供用于访问应用于音频信号的各种回响设置的方法。 |
| 异常摘要 | |
|---|---|
| LineUnavailableException | LineUnavailableException 是指示某一行因为不可用而无法打开的异常。 |
| UnsupportedAudioFileException | UnsupportedAudioFileException 是指示因为文件没有包含可识别文件类型和格式的有效数据而致使操作失败的异常。 |
软件包 javax.sound.sampled 的分层结构
- 软件包分层结构:
- 所有软件包
类分层结构
- java.lang.Object
- javax.sound.sampled.AudioFileFormat
- javax.sound.sampled.AudioFileFormat.Type
- javax.sound.sampled.AudioFormat
- javax.sound.sampled.AudioFormat.Encoding
- javax.sound.sampled.AudioSystem
- javax.sound.sampled.Control
- javax.sound.sampled.BooleanControl
- javax.sound.sampled.CompoundControl
- javax.sound.sampled.EnumControl
- javax.sound.sampled.FloatControl
- javax.sound.sampled.Control.Type
- javax.sound.sampled.BooleanControl.Type
- javax.sound.sampled.CompoundControl.Type
- javax.sound.sampled.EnumControl.Type
- javax.sound.sampled.FloatControl.Type
- java.util.EventObject (implements java.io.Serializable)
- javax.sound.sampled.LineEvent
- java.io.InputStream (implements java.io.Closeable)
- javax.sound.sampled.AudioInputStream
- javax.sound.sampled.Line.Info
- javax.sound.sampled.DataLine.Info
- javax.sound.sampled.Port.Info
- javax.sound.sampled.LineEvent.Type
- javax.sound.sampled.Mixer.Info
- java.security.Permission (implements java.security.Guard, java.io.Serializable)
- java.security.BasicPermission (implements java.io.Serializable)
- javax.sound.sampled.AudioPermission
- java.security.BasicPermission (implements java.io.Serializable)
- javax.sound.sampled.ReverbType
- java.lang.Throwable (implements java.io.Serializable)
- java.lang.Exception
- javax.sound.sampled.LineUnavailableException
- javax.sound.sampled.UnsupportedAudioFileException
- java.lang.Exception
接口分层结构
- java.util.EventListener
- javax.sound.sampled.LineListener
- javax.sound.sampled.Line
- javax.sound.sampled.DataLine
- javax.sound.sampled.Clip
- javax.sound.sampled.SourceDataLine
- javax.sound.sampled.TargetDataLine
- javax.sound.sampled.Mixer
- javax.sound.sampled.Port
- javax.sound.sampled.DataLine
利用纯java捕获和播放音频的更多相关文章
- Windows PCM音频捕获与播放实现
在WINDOWS下,音频函数有多种类型,如MCI.多媒体OLE控制.高级音频等,使用方法都比较简单.但如果想编写一个功能较强大的音频处理程序,那就必须使用低级音频函数和多媒体文件I/O来控制音频设备的 ...
- 用JAVA捕获屏幕、屏幕录像、播放
http://blog.csdn.net/njchenyi/article/details/447554 用JAVA捕获屏幕.屏幕录像.播放 标签: javaexceptionimageimportn ...
- JAVA按顺序播放多个wav音频
用Java按顺序播放多个音频部件,不是同时播放.代码如下: List<String> files = new ArrayList<String>(); files.add(&q ...
- 利用mciSendString播放音频
最近在写音频播放器,不过有点懒散,开发进度很慢,一天只做了一点点东西.其实就是让程序能播放音频.这个在我大二学winform程序开发时书上有说,那是书上教的是用media player的COM组件,而 ...
- 【转】Android播放音频MediaPlayer的几种方式介绍
接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...
- 与众不同 windows phone (41) - 8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频
[源码下载] 与众不同 windows phone (41) - 8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频 作者:webabcd 介绍与众不同 win ...
- java swing 音乐播放器-乐乐音乐
乐乐音乐1.0(本地版) 乐乐音乐是基于musique 开源播放器开发的java swing音乐播放器,实现了mp3.flac.ape.wav等多种音频格式的播放和ksc歌词的解析.制作和显示. 完成 ...
- Android应用开发学习笔记之播放音频
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android支持常用音视频格式文件的播放,本文我们来学习怎样开发Android应用程序对音视频进行操作. Andr ...
- MFC中使用SDL播放音频没有声音的解决方法
本文所说的音频是指的纯音频,不包含视频的那种. 在控制台中使用SDL播放音频,一般情况下不会有问题. 但是在MFC中使用SDL播放音频的时候,会出现没有声音的情况.经过长时间探索,没有找到特别好的解决 ...
随机推荐
- Big Data應用:以"玩家意見"之數據分析來探討何謂"健康型線上遊戲"(上)
首先,所有資料都可以從網路上找到,只是我做了一些分析與整理而已.純粹分享心得~~ 最近再做研究的時候我跟我的同事K先生在某次偶然的討論中發現了一件有趣的事情. [疑~~~~~~~新楓之谷的玩家人氣指數 ...
- 31、三层架构、AJAX+FormsAuthentication实现登陆
三层架构 前段时间公司要求修改一个网站,打开后我疯了,一层没有都是调用的DB接口,遍地的SQL语句,非常杂乱. 什么是三层架构? 三层架构是将整个项目划分为三个层次:表现层.业务逻辑层.数据访问层.目 ...
- 使用Github建立个人博客
总的说来 这个当有node.js 和gitbub的账号后,搭建一个自己的博客,想想还是挺美的事! 由于要把整个流程说清楚 估计lz还没这个实力,所以都是继承前辈们的经验,自己再添加一点遇到的问题和解决 ...
- ios>android>javaee
外面就业很多年的认识给出来我这个结论,请问各位有什么看法?
- js--小结②
- 调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题
这几天一直研究支付宝接口调用,因为当前应用中需要调用支付宝接口作移动支付. 遇到一个问题困扰几天,就是当我们的手机端未安装支付宝APP的时候,需要在自己应用中调用支付宝的登陆网页进行支付.我是Andr ...
- java - 异常浅谈
java提供异常处理机制中,可以分为RuntimeException和checked Exception两种. RuntimeException 是运行时异常,是程序本身无法解决的.例如,对于一个用户 ...
- android - android Couldn't load runtimecore_java from loader
在写Arcgis Android 或百度Android的时候,有时会报诸如,java.lang.UnsatisfiedLinkError:android Couldn't load runtimeco ...
- Delphi Register
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...
- prime,素数的判断——c语言
输入一个数a,求他是否是素数(用函数) 程序: #include<stdio.h> int prime(int a)-----------------------------------/ ...