javasound程序指南

上传人:第*** 文档编号:61649426 上传时间:2018-12-08 格式:PDF 页数:86 大小:540.30KB
返回 下载 相关 举报
javasound程序指南_第1页
第1页 / 共86页
javasound程序指南_第2页
第2页 / 共86页
javasound程序指南_第3页
第3页 / 共86页
javasound程序指南_第4页
第4页 / 共86页
javasound程序指南_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《javasound程序指南》由会员分享,可在线阅读,更多相关《javasound程序指南(86页珍藏版)》请在金锄头文库上搜索。

1、Java 声音程序员指南声音程序员指南 介绍性材料 序言 为谁而本指南的目的 本指南描述了什么 欲了解更多信息 章:1 到 Java 声音 API 设计目标 是谁的 Java 声音 API? Java 声音 API 与其他接口如何? 包 采样音频 什么是采样音频? 音频配置 MIDI 什么是 MIDI? MIDI 配置 服务提供程序接口 第一部分:采样音频 第 2 章:概述的抽样 包 设计目标 数据传输上的一个焦点 缓冲和非缓冲的音频处理 要点:格式,搅拌机,和行 是什么格式的音频数据? 调音台是什么? 什么是行吗? 在音频输出配置线 音频输入配置线 线路接口层次结构 第 3 章:访问音频系统

2、 资源 AudioSystem 类 信息对象 获得调音台 获取所需的类型 直接从 AudioSystem 旅游线路 从调音台的线路 选择输入和输出端口 允许使用音频资源 第 4 章:播放音频 使用剪辑 设置播放剪辑 启动和停止播放 使用一个 SourceDataLine 设置播放 SourceDataLine 启动和停止播放 监测线路的状态 多条线路上的同步播放 加工传出音频 第 5 章:捕获音频 设置一个 TargetDataLine 从 TargetDataLine 读取数据 监控线的状态 处理传入的音频 第 6 章:处理音频 控制 控件 获得具有所需的控制线路 从线的控件 使用控制改变的

3、音频信号 控制线路的静音状态 更改线路的音量 各混响预置的选择 直接操纵的音频数据 第 7 章:使用文件和文件格式 转换器 读书声文件 编写声音文件 文件和数据格式转换 文件从一种格式转换到另一个 不同的数据格式之间的转换音频 学习哪些转换可用 第二部分:MIDI 第 8 章:概述的 MIDI 包 一个 MIDI 复习:电线和文件 在 MIDI Wire 协议的数据流 标准 MIDI 文件测序数据 Java 声音 API MIDI 数据的代表性 MIDI 信息 MIDI 事件 序列和轨道 Java 声音 API MIDI 设备的代表性 MidiDevice 的接口 发射器和接收器 音序器 合成

4、器 第 9 章:访问 MIDI 系统 资源 MidiSystem 类 获取默认设备 学习什么设备安装 获取所需的设备 开启装置 第 10 章:发送和 接收 MIDI 信息 了解设备,发射机和接收机 消息发送到一个接收器,而无需使用发射机 了解时间戳 消息发送到设备上的时间邮票 将发射器连接到接收器 连接到一台设备 连接多台设备 关闭连接 第 11 章:播放,录制和 编辑 MIDI 序列 到音序器 当使用音序器 了解序列数据 序列和轨道 MidiEvents 和扁虱 音序器的方法概述 获得序列发生器 载入序列 播放序列 记录和保存序列 编辑序列 使用先进的音序器功能 移动到一个序列中的任意位置

5、改变播放速度 静音或独奏个人 在序列的轨道 与其它 MIDI 设备同步 指定特殊的事件监听器 第 12 章:合成声音 了解 MIDI 合成 仪器 频道 Soundbanks 和修补程序 声音 管理工具和 Soundbanks 学习什么样的仪器被加载 装入不同的仪器 卸载工具 访问音库资源 查询合成的能力和现状 使用渠道 没有控制的合成器 使用音序器 取得通道的当前状态 静音和独奏频道 玩合成声音的权限 第三部分:服务提供程序接口 第 13 章:介绍服务 提供程序接口 什么是服务? 服务工作 供应商如何准备新的服务 用户如何安装新的服务 第 14 章:提供采样音频 服务 简介 提供音频文件写作服

6、务 提供音频文件的阅读服务 提供格式转换服务 提供新类型的搅拌机 第 15 章:提供的 MIDI 服务 简介 提供 MIDI 文件写作服务 提供 MIDI 文件阅读服务 提供特定的 MIDI 设备 提供音库文件读取服务 附录 附录 1:代码概述: AudioSystem.java 最后更新 2002 年 1 月 11 日 序言 为谁而本指南的目的 本指南旨在为三组读者: 应用程序开发:软件程序员谁想要写的 JavaTM 应用程序或 applet 使用音频或 MIDI。大多数读者都属于这一类。 升 服务提供商:软件模块的开发,扩展的能力 Java 声音应用程序编程接口(API)的实施。例如, 供

7、应商可能会提供一个新的音频混频器或 MIDI 合成器,或读写能力 新的文件格式。 Java 声音 API 的目的是让程序自动获取所有这些 “插件”模块,在一个特定的系统。 升 升 API 的实现:创建新的 Java 声音 API 实现的开发人员。 这是假设读者已经在 Java 语言中的编程的基本知识。熟悉 音频和 MIDI 是有益的,但 没有承担。 本指南说明了什么 这是一个 Java 声音 API 的基本概念的描述,与一些代码片段作为编程 例子。 Java 声音 API 允许应用程序指定一个软件层 沟通与音频和 MIDI 发动机。 Java 声音 API 的 JavaTM 2 平台的一部分,

8、 标准版(J2SE) ,版本 1.3,这是本指南中所描述的版本。声音 API 中包含了 Java 2 软件开发工具包(SDK) ,标准版,Java 2 运行时 环境,标准版。作为早期的实现提供的 Java 声音 API 独立的产品和他们的节目 interfacea 从这里所描述的不同。 注意: 本指南是没有任何特别的 Java 声音实现的描述 空气污染指数。特别是,它没有具体描述的参考实现 例如由 Sun Microsystems 公司创建的 Java 声音的 API,你会 这里找不到一个完全的列表,在支持的声音文件格式 参考实现。 (因为 Java 声音 API 使“插件”服务 可能的话,A

9、PI 的实现者和/或第三方可以添加新格式的支持, 本指南具有的特殊功能等一般)的端口,忽略了独特的功能, 扩展,限制,或特定的实现中的错误。 作为为开发人员提供了方便,但它使现有的一些限制 Sun 的参考 implemenation。如果你有问题,这是非常 建议您查阅: 升 Sun 公司在 Java Developer Connection 的 Bug 数据库 升 Java 声音首页 升 Java 声音参考实现说明 欲了解更多信息 参见 Java 声音 API 参考文档的链接 http:/ 参考实现,以及有关 Java 声音 API 链接到其他资源,如演示 方案,邮件列表,并经常回答问题(FA

10、Qs) 。还请参阅 Java 声家庭 页上面提到的。 版权所有 2000 年,Sun 微系统公司保留所有权利。 第 1 章:到 Java 声音 API 设计目标 使用的 JavaTM 声音 API 是一个低级别的 API,以便对影响和控制的输入和输出的声音 媒体,包括音频和乐器数字接口(MIDI)数据。 Java 声音 API 超过通常所需的声音输入和输出能力提供了明确的控制,在 框架,以促进可扩展性和灵活性。 是谁的 Java 声音 API? 因为声音是如此基本,Java 声音 API 实现了广泛的应用需求 开发商。潜在的应用领域包括: 升通信框架,如会议和电话 升最终用户的内容交付系统,如

11、媒体播放器和使用音乐,流媒体内容 升交互式应用程序,如游戏和动态内容的 Web 站点使用 升内容的创建和编辑 升工具,工具箱和公用事业 Java 声音 API 与其他接口如何? Java 声音 API 在 Java 平台上提供声音支持的最低水平。它提供 与稳健经营,控制了大量的应用程序,它是可扩展的。对于 例如,Java 声音 API 供应机制,用于安装,访问和操纵系统 资源,如音频混频器,MIDI 合成器,其他的音频或 MIDI 设备,文件的读者和作家, 声音格式转换器。 Java 声音 API 不包括复杂的音效编辑或 图形化工具,但它提供了这种方案可建的能力。它强调 低层次的控制超出通常由

12、最终用户的预期。 有其他 Java 平台 API,有健全相关的元素。 Java 媒体框架(JMF) 是更高级别的 API,它是目前作为一个标准扩展到 Java 平台提供。 JMF 用于捕获和指定一个统一的架构,消息传递协议和编程接口 基于时间的媒体播放。 JMF 提供基本的媒体播放器应用程序更简单的解决方案 方案,它使不同的媒体类型,如音频和视频之间的同步。在 另一方面,方案,重点是健全的 Java 声音 API 可以从中受益,特别是如果他们需要 更先进的功能,如能够小心控制缓冲的音频播放,或直接 操纵一个 MIDI 合成器。其他声音方面的 Java API,包括 Java 3D 和 API,

13、用于 电话和语音。执行任何这些 API 可能会使用 Java 实现 内部声音 API,但并不要求这样做。 包 Java 声音 API 包括用于数字音频和 MIDI 数据的支持。这两个主要模块 功能是提供单独的包: javax.sound.sampled 这个包指定接口,用于捕获,混合和数字播放 (采样)音频。 升 javax.sound.midi 这个包提供了接口,MIDI 合成,测序和事件的交通。 升 另外两个包,允许服务供应商(而不是应用程序开发人员)创建自定义 软件组件,延长执行的 Java 声音 API 的能力: 升 javax.sound.sampled.spi 在 升 javax.

14、sound.midi.spi 在 本章的其余部分简要讨论了系统的采样音频,MIDI 系统,和 SPI 包。每个然后详细讨论,在随后的指导。 采样音频 什么是采样音频? javax.sound.sampled 包处理数字音频数据,Java 声音 API 是指 作为采样的音频。样品信号的连续快照。在音频的情况下,信号是一个声音 波。麦克风转换成相应的模拟电信号的声波信号,并 模拟到数字转换器转换成模拟信号采样的数字化形式。以下 图显示了一个短暂的瞬间,在录音。 采样的声波 此图绘制的声压(振幅)上的垂直轴,横轴上的时间和。该 在一定的速度,导致在离散模拟声波的振幅是定期测量 样本(图中红色的数据点

15、) ,包括数字音频信号。该中心的水平 行表示零振幅线以上的点是积极的价值的样品,并点以下 阴性。模拟信号的数字近似的准确性取决于其时间分辨率 (采样率)和其量化,或决议的振幅(用来表示数位 每个样品) 。作为一个参考点,记录存储在光盘的音频采样 44100 次每秒和每个样本 16 位代表。 “采样音频”一词用在这里略松散。声波可以在离散采样 而间隔被留在一个模拟的形式。 Java 声音 API 的目的,但是,“采样 音频“等同于”数字音频“。 通常情况下,一台计算机上的音频采样来自录音,但声音可以改为 综合产生的(例如,创建一个按键式电话的声音) 。长期“采样 音频“,是指类型的数据,而不是它

16、的起源。 有关数字音频数据结构的进一步信息是根据“是什么格式音频 数据?“第 2 章中,”采样包的概述。“ 音频配置 Java 声音 API 不承担特定的音频硬件配置,它的设计允许 将不同种类的音频组件系统上安装的 API 访问。 Java 声音 API 支持通用的功能,如输入和输出的音效卡(例如, 录制和播放声音文件)以及混合多个音频流。下面是一个 例如,一个典型的音频架构: 一个典型的音频架构 在这个例子中,一个设备,如声卡,不同的输入和输出端口,混合提供 在软件中。该混频器,可能会收到已经从文件中读取数据,从网络传输, 通过一个应用程序的动态生成,或由一个 MIDI 合成器产生。 (本 javax.sound.midi 包,讨论未来,为合成器提供一个 Java 语言接口。 ) 该混频器结合到一个单一的流音频输入,可发送到输出设备 渲染。 MIDI javax.sound.midi 包包含运输和测序 MIDI 事件的 API, 从这些事件中合成的声音。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号