当前位置:  技术问答>java相关

JAVA如何让扬声器发出声音啊?

    来源: 互联网  发布时间:2015-01-21

    本文导语:  如题。 | ----Java作为一种网络编程语言,在浏览器中即可以进行动画演示,也可以播放声音。在人机的交互过程中,为了加强效果或起到提示的作用,需要加入声音。 ----Java的包java.applet中有Aud...

如题。

|
----Java作为一种网络编程语言,在浏览器中即可以进行动画演示,也可以播放声音。在人机的交互过程中,为了加强效果或起到提示的作用,需要加入声音。

----Java的包java.applet中有AudioClip接口,此接口封装有关声音片断的一些常用方法。用法如下:

             AudioClip audio;
                 audio=getAudioClip(getCodeBase(),"Hi.au");
                 audio.play();

----第一行生成接口AudioClip的一个变量,第二行利用此变量取得声音文件Hi.au,此文件与程序本身在同一目录下,getCodeBase()方法是用来取得Applet的class文件的URL地址。第三行是播放声音文件。在Applet中利用此用法可在浏览器中发出声音。那么,在Application中是否也可以用此方法来发出声音呢?不可以。因为接口AudioClip是在包java.applet中,而此包只适用于Applet。是否可以用其它方法来实现呢?我们可以利用1中的技巧来编写一个即是Applet又是Application的程序试试。结果,还是不行。这是因为play()方法只能在Applet中实现,对于Applicationplay()方法是不能够被调用的。

----那么,如何在Application中实现发声提示呢?

----记得VB中有beep语句来使系统发声器(SystemSpeaker)发声,那么,Java中也应有类似的方法。

----在Java的java.awt.Toolkit类中有方法beep()是来实现这一功能的。类Toolkit是抽象类,它是实现AWT的所有工具的父类。Java中的抽象类是不能够实例化的,但是一般地,抽象类可以生成变量,然后利用抽象类中的某一方法来取得此类的替代品。在Toolkit中是利用getDefaultToolkit()方法来实现的。现在给出一个实例:

----这是一个客户机/服务器的Application。当服务器运行时如果有客户机与服务器相连,则服务器会自动发声警报提示服务器端的用户有客户要与自己进行对话。

----程序如下:

----服务器:

import java.util.*;
import java.io.*;
import java.net.*;
import java.awt.*;

public class ServerT{
    public static void main(String[] args){
        Server server;
        String clientRequest;
        boolean quit=false;
        server=new Server(8001);
        while(!quit){
            DataInputStream keyboard=new
             DataInputStream(System.in);
            try{
                clientRequest=server.in.readLine();
                if(clientRequest.trim().equals("CLOSE")){
                    System.out.println("Client says:
                     "+clientRequest);
                    System.exit(1);
                }
                System.out.println("Client says:
                "+clientRequest);
                server.out.println(keyboard.readLine());
             }catch(IOException e){
                System.out.println("IOException
                 in server.in.readLine()"+e);
                System.exit(1);
            }
        }
    }
}
class Server{
    private ServerSocket server;
    private Socket socket;
    public DataInputStream in;
    public PrintStream out;
    public Server(int port){
        try{
            server=new ServerSocket(port);
            System.out.println("n
****************************
*****************************");
            System.out.println("n  @(#)Net
            Applecation Version 1.00 97/12/30 ");
            System.out.println("  Copyright (c) 1997
            (Lui DongBing) All Rights Reserved.");
            System.out.println("n
******************************
***************************");
            System.out.println("n  Server is: n "+server);
            socket=server.accept();
            for(int i=0;i

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎样在一个JAVA应用程序里,向一个SERVLET发出HTTP请求(带参数)???
  • 怎样实现在java中打开cmd.exe,同时向其发出命令,如dir等?
  • 请问:java的sokcet怎么正确接受到c做的socket程序发出的流。
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3