美国上市公司,专注Java培训22年

Java声音技术简析


java 的魅力之一就是对多媒体的支持,Appley使得原来沉闷的网页变得丰富起来,在java.applet中提供了很多功能强大的方法对多媒体的支持。现在我们就java中的声音技术来分析其中的功能。

一 在Applet中播放声音

播放声音是java对多媒体的支持一个重要部分。现今流行的声音格式有wav,mid,au为扩展名的声音文件。而java现主要支持以au为名的声音。在Applet中专门提供了类AudioClip来对声音的支持。

由于Applet的多媒体功能书上都有很清晰的介绍也很简单。我们就以一个例子来结束这部分的说明。

import java.applet.*;

public class sounda extends Applet

{

public static void main (String[] args)

{

AudioClip ac = getAudioClip(getCodeBase(), “sloop.au”);

ac.play();

// ac.loop();

// ac.stop();

}

}

上面例子只是很简单的说明,AudioClip是java中播放类。java中提供了两个很有用的方法 getCodeBase(),getDocumentBase()他们分别返回Applet本身和包含此Applet主页的URL地址。上面的 sloop.au即我机器上的声音文件。我们在此直接使用了AudioClip的play方法来播放声音。大家可测试用Applet的图像功能加入按钮。

二 java应用程序中的声音播放

由于在应用程序并不支持AudioClip类。所以播放声音文件成了一大难题。制做自己的java播放器或应用媒体方面的java应用程序我们就不能支持声音了吗?不是的,sun公司为应用程序中的声音支持另提供了一个java新包。sun.audio在这个包下面提供了大部分所需要的声音处理类。注:sun包下面还有很多很有意思的技术支持,如java2D,Tools等,大家可自己尝试去使用。

下面我们就来做个自己的声音播放测试

import sun.audio.*;

import java.io.*;

public class Sound

{

public static voie main(String args[])

{

try {

FileInputStream fileau=new

FileInputStream(“sloop.au”);

AudioStream as=new AudioStream(fileau);

AudioPlayer.player.start(as);

}

catch (Exception e) {}

}

}

注:上面两例都没有提供相应的stop方法,本文章指在方法的尝试,并非全面文章,但上面的例子都是可用的

三 javaX中Sound包的应用

当我在进行上面的测试过程中,我发现javaX目录下也提供了一个sound包对java声音的强大支持,并且在sun网站的jjse上可下载到相关的大量例子程序。有志于声音处理方向的朋友可下载试试。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 使用虚拟dom和JavaScript构建完全响应式的UI框架
    使用虚拟dom和JavaScript构建完全响应式的UI框架
    在javaScript中怎样才能创建一个完全 响应式(透明)的UI框架呢? 详情>>

    2017-02-20

  • 如何成为一名java程序员
  • JAVA请求需要Basic身份验证的网页
    JAVA请求需要Basic身份验证的网页
    这种认证有两种体例:BASIC和DIGEST,BASIC验证要求客户端对用户名和密码进行BASE64编码后传送给处事器。DIGEST的认证体例的细节斗劲复杂,会经由一系列的加密,所以很难被破译。 详情>>

    2015-01-07

  • 使用Java测试网络连通性的几种方法
    使用Java测试网络连通性的几种方法
    概述:在网络编程中,有时我们需要判断两台机器之间的连通性,或者说是一台机器到另一台机器的网络可达性。在系统层面的测试中,我们常常用 Ping 命令来做验证。 详情>>

    2015-01-07

  • Java开班时间

    收起