📄 sound8.html
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="Java,JDBC,EJB,Open Source,jdk,rmi">
<meta name="Keywords"
content="Java, servlets, Java servlet, Javascript, ActiveX, VRML,
applet, applets, directory, news, jdbc, applications,
Java applications, Java developer, Java development, developer,
classes, Jars.com, Jars, intranet, Java applet, Javabeans,
Java products, JDK, Java development kit, java development environment, JIT,
JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources,
SUN, CGI, Perl, database, network, html,
xml, dhtml, rating, ratings, review, jars, cgi, programming,
software review, software rating">
<title>csdn_JAVA声音技术 (8)</title>
<style>
.news { BACKGROUND: #007cd3; font-family: "宋体"; font-size: 9pt }
.t { font-family: "宋体"; font-size: 9pt }
.t1 { color:#007cd3; font-family: "宋体"; font-size: 9pt }
.white { font-family: "宋体"; font-size: 9pt;color:#FFFFFF }
.red { font-family: "宋体"; font-size: 9pt;color:#FF0000 }
A:visited {color:#0000FF}
A:hover {color: #ff6666; text-decoration: none}
.text {font-size: 12px; line-height: 160%; font-family: "宋体"}
.text1 {color:#000000; font-size: 12px; line-height: 130%; font-family: "宋体"; text-decoration: none}
.text1:visited {color:#000000}
.text1:hover {color: #000000}
.text2 {color:#000000; font-size: 12px; line-height: 130%; font-family: "宋体"; text-decoration: none}
.text2:visited {color:#000000}
.text2:hover {color: #000000}
.text3 {font-size: 12px; line-height: 100%; font-family: "宋体"; text-decoration: none}
.large {font-size: 14.8px; line-height: 130%}
</style>
</head>
<body
<!--start first table -->
<tr>
<td WIDTH="100%" VALIGN="TOP">
<tr>
<td WIDTH="100%" CLASS="white"></td>
</tr>
<tr>
<td WIDTH="50%" bordercolor="#FFFFFF" CLASS="t1" bgcolor="#F0F0F0" align="center" nowrap>JAVA声音技术 (8)
</td>
<p></p>
</tr>
<tr>
</tr>
<tr><p></p>
<td WIDTH="100%" bordercolor="#FFFFFF" CLASS="t" bgcolor="#F0F0F0" colspan="2">
<b>合成器</b><br>
<br>
合成器界面是一种生成声音的特殊类型的接收器。它也提供一些方法来管理声音库和乐器。另外,合成器可以支持一组全局的非-MIDI控件例如增益和定位。它也提供对一组MIDI通道的访问,实际上,声音就是通过这些通道产生的。<br>
<br>
MidiChannel界面提供一组方法来表达公用的MIDI声音消息例如 noteON, noteOff以及controlChange。还支持对当前通道状态的查询。<br>
<br>
<b>序列化</b><br>
<br>
Sequencer界面继承了MidiDevice,它提供了完成基本MIDI序列化操作的方法。音序器可以装载和播放一个序列,查询和设置节奏,并且控制主从同步方式。一个应用程序还可以通过注册使得音序器在处理设备单元和控制器事件时通知自己。<br>
<br>
<b>文件和序列化</b><br>
<br>
序列化对象代表一个来自一个或多个磁道的MIDI序列以及相关的计时信息。一个磁道对象包含一系列加上时间标记的MIDI事件。<br>
<br>
JAVA声音 API在 MidiSystem类中为在MIDI文件和序列化对象之间转换提供了高级的接口。<br>
<br>
查询和访问已经安装了的组件<br>
<br>
MidiSystem类充当MIDI音乐系统入口的角色。它提供相关设备的信息并对之进行访问,这些设备包括传送器,接收器,合成器,以及音序器。它也提供了对SoundBank对象的访问。
<br>
<br>
<b><font color="#FF0000"> 系统配置-服务提供者接口(SPI)<br>
</font></b><br>
MIDI系统的配置由javax.media.sound.midi.spi包来完成的。通过MidiConfig类的方法,设备可以安装到系统中或从中卸载,并且可以建立起缺省状态。服务提供者可以希望提供和安装他们自己的文件和声音库分析器。该SPI程序包中包括了完成这种功能的机制。<br>
<br>
现在让我们看看能用这些类和方法做什么。请仔细检查一下。 <br>
<br>
<b>ToySynth应用程序<br>
<br>
</b><br>
<br>
<br>
ToySynth应用程序试验了早期对JAVA声音 API存取的方式,主要是通过提供一系列设备设置,包括MIDI通道选择、音量控制、立体声定位、回声处理、以及其他选项。通过敲击键盘就可以演奏使用指定设备的乐曲,而这些设备又都是通过JAVA声音引擎来实现的。<br>
<br>
完整的ToySynth.java代码样本。<br>
<br>
<a href="http://www.java.sun.com/products/java-media/sound/" target="_blank">下载JAVA声音
API</a>的同时可以得到示范应用程序及其源代码。<br>
</td>
</tr>
</td>
</tr>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -