利用纯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播放音频的时候,会出现没有声音的情况.经过长时间探索,没有找到特别好的解决 ...
随机推荐
- python np.linspace
该函数的形式为: linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 作用为:在规定的时间内,返回固定间隔的 ...
- thinkphp3.2.x版本中图片上传缩略图的解决方案
调用方式很简单 get_sc($cover_id,[$width=180,$height=auto,$cut]) @param $cover_id 图片ID___ @param $width 宽度__ ...
- grunt 构建工具(build tool)初体验
操作环境:win8 系统,建议使用 git bash (window下的命令行工具) 1,安装node.js 官网下载:https://nodejs.org/ 直接点击install ,会根据你的操 ...
- ssh 无密码登录远程服务器
在讲下文之前,我都默许大家都已经生成了自己的ssh公钥和密钥,在自己的~/.ssh 目录下面,如果没有,请使用 ssh-keygen -t rsa -C "你的邮箱" 命令生成 1 ...
- 自己做的demo---c语言的基本语法,过阵子可以重新写一些算法跟数据结构了
//输入a,b,输出a+b /*#include<stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); ...
- PHP 内存的分布问题
php运行,内存分为5个区域, 1.基本数据类型--->栈区 2.符合数据类型-->堆区 对象实例在堆区,对象名字在栈区(指向此对象实例的变量)
- SQL SERVER 高级编程 - 自定义函数 拾忆
每个人都很忙,但是花10分钟复习下,总结下基础东西还是很有益处的. 背景: 总结一句,使用简便,还能递归,是的SQL更简洁,相对比一大堆的关联语句,而且关联一大堆还不一定实现特定功能.而且共用部分可以 ...
- redis【摘自网上,只为以后查看】
ubuntu安装启动redis 1.下载安装 cd /tmp wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz tar -zxf r ...
- 安装ImageMagick扩展出现configure: error: not found. Please provide a path to MagickWand-config or Wand- config program
安装ImageMagick扩展报错: checking ImageMagick MagickWand API configuration program... checking Testing /u ...
- 使用PHP对文件进行压缩解压(zip)
使用虚拟主机进行文件上传时最常用的工具莫过于FTP了,但是使用FTP有一个弊端就是文件太多时上传或下载速度比较慢,如果上传时将文件打包,上传后在 空间解压缩,同样下载前将文件打包压缩以压缩包的形式下载 ...