网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Web Service Appender 管理日志纪.
.关于Java编程的中文问题的几条分.
.EJB入门文章.
.介绍三个集合容器库.
.Struts开发技巧.
.初学者入门篇:小议Java和C++区别.
.通过 Java 如何实现 AES 密码算法.
.Struts教程-Struts的几个精细之.
.管理复杂应用性能管理实用方法(1).
.用J2SE 1.4 进行 Internet 安全编.
.UniJa技术体系管窥.
.Wicket初次接触2之Navomatic.
.在Spring中使用JDO.
.My first javascript file on xm.
.把JBoss缓存用作POJO缓存的实战演.
.在J2ME中实现欢迎界面(附源代码).
.J2ME学习系列之如何将J2ME与XML集.
.应用Rational工具简化基于J2EE项.
.进一步研究字面量.
.STRUTS 入门教学(2).

在Java应用程序中播放音乐

发表日期:2008-1-5



  天 津 大 学 电 子 系 范 仲 方
zffan@public.tpt.tj.cn

--------------------------------------------------------------------------------

现 在 关 于 如 何 在Java 小 程 序(Applet) 中 播 放 音 乐 以 供 人 边 浏 览 页 面 边 欣 赏 的 介 绍 已 经 很 多 了, 但 对 如 何 在 应 用 程 序(Application) 中 放 音 乐 的 介 绍 还 很 少, 下 面 我 就 逐 步 地 讲 解 一 下 如 何 实 现。

Jun 当 前 的Java Development Kit 版 本1.1.3 并 不 正 式 支 持 在Application 中 放 音 乐 文 件, 但 这 依 然 是 可 以 实 现 的。 首 先 让 我 们 复 习 一 下 在Applet 中 放 音 乐 的 四 个 步 骤, 代 码 如 下:

import java.applet.*;

AudioClip ac=getAudioClip (getCodeBase(), File);
// 创 建Audioclip 对 象 并 装 入.au 文 件
ac.play(); // 播 放 一 次
ac.stop(); // 停 止 播 放
ac.loop(); // 循 环 播 放

大 家 可 能 认 为 此 代 码 在Application 中 也 能 使 用, 但 不 幸 的 是 它 在 编 译 时 就 会 发 生 错 误。 因 为AudioClip 对 象(object) 和getAudioClip() 方 法(method) 都 是 属 于java.applet 包 的-- 它 在Application 中 无 法 调 用。

解 决 问 题 的 办 法 是 使 用 一 些Sun 在JDK 中 发 布 但 未 正 式 注 明(undocumented) 的 特 点。 用WinZip 或Zip 观 察 一 下class.zip 文 件 就 会 发 现 除 了java.applet 包 中 包 含 对 声 音 文 件 处 理 外, 在/sun/audio 目 录 下 的sun.audio 包 也 提 供 类 似 的 方 法。 下 面 是 实 现 代 码 和 注 释:

import sun.audio.*; // 引 入sun.audio 包
import java.io.*;

InputStream in = new FileInputStream (Filename);
// 打 开 一 个 声 音 文 件 流 作 为 输 入
AudioStream as = new AudioStream (in);
// 用 输 入 流 创 建 一 个AudioStream 对 象
AudioPlayer.player.start (as);
//“player” 是AudioPlayer 中 一 静 态 成 员 用 于 控 制 播 放
AudioPlayer.player.stop (as);

当 需 从 网 上 下 载 文 件 播 放 时, 用 以 下 代 码 打 开 音 乐 文 件 网 址:

AudioStream as = new AudioStream (url.openStream());

播 放 一 个 持 续 的 声 音 流 就 复 杂 一 些 了:

首 先 如 上 创 建 声 音 流;
AudioData data = as.getData ();
// 创 建AudioData 源
ContinuousAudioDataStream cas
= new ContinuousAudioDataStream (data);
AudioPlayer.player.play (cas); // 放 音
AudioPlayer.player.stop (cas); // 停 止

完 成 了 ! 因 为 以 上 程 序 使 用 了 未 公 开 的 特 性, 所 以 不 能 保 证 它 能 在 除 了 当 前 版 本 的Sun JDK 以 外 的 编 译 器 上 运 行。
上一篇:在Java应用软件中加入logging 人气:839
下一篇:在Java中实现浮点数的精确计算 人气:585
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐