Java中的发声提示

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< 260;i++){      //  发 声 提 示
                Toolkit.getDefaultToolkit().beep();
            }
            System.out.println("\n Server is ready ! \n");
            in=new DataInputStream(socket.getInputStream());
            out=new PrintStream(socket.getOutputStream());
            out.println("We connect in "+new Date());
        }catch(IOException e){
            System.out.println("Server is failied !");
        }
    }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索server
, 方法
, system
, java自动提示
, 声音
, out
println
java 发声、java中弹出提示框、java中如何弹出提示框、jsp中java代码提示、java中提示框,以便于您获取更多的相关知识。

时间: 2024-10-04 18:17:50

Java中的发声提示的相关文章

exception-java中读取文件提示找不到指定路径???

问题描述 java中读取文件提示找不到指定路径??? import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class FileCombine { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub FileManager afilemg = new Fi

界面-java中错误提示需要class、interface或enum怎么解决

问题描述 java中错误提示需要class.interface或enum怎么解决 package CarSale.CarUI; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class CarUI extends Frame { public static void main(String [] args) throws SQLException{ { String sql

ssh开发-请问Java中web怎么实现类似于腾讯新闻一样的即时信息提示弹窗?

问题描述 请问Java中web怎么实现类似于腾讯新闻一样的即时信息提示弹窗? Java怎么实现类似于QQ的腾讯新闻一样的提示信息?可以即时监听,比如A向B发布了一条事项,系统会即时检测到,从而在屏幕右下方弹出一个提示信息框来提醒B. 解决方案 css + div + js 实现的,网上好多这种代码和例子, 百度一下, htnl新闻框特效.

tomcat中处理消息提示的公用类 StringManager.java

代码很简单,主要学习思路. tomcat中处理消息提示的公用类 StringManager.java: 其实思路就是每个包名对应一个Stringmanager对象,而非所有公用一个S听ringmanager对象! 每个包中都有一个LocalStrings.properties的配置文件 ,定义公用提示信息 每个使用的类中都添加StringManager对象 每个包下都有常量文件Constants.java ,其中定义常量Package为该文件DefaultServlet所在 包名 使用: pub

java中HttpClient提示ConnectTimeoutException优化

最近的一个项目中需要用HttpClient请求多台远程服务器.由于接口调用有点频繁,结果出现了很多ConnectTimeoutException,于是对程序进行了优化. 业务逻辑的优化和减少请求次数的优化就不说了,下面重点说说HttpClient的优化. 先看看以前的代码,每次请求都会创建一个HttpClient,代码如下:  代码如下 复制代码 HttpClient client = getHttpClient(5000, 5000);   GetMethod getMethod = new

对象-java中构造方法simpleadapter没有定义好是什么原因造成的???

问题描述 java中构造方法simpleadapter没有定义好是什么原因造成的??? The constructor SimpleAdapter(new View.OnClickListener(){} List> int String[] int[]) is undefined 有时候系统提示加:我也加了:但是eclipse还是报错是什么原因造成的 解决方案 是编译错误还是运行时错误呢? 解决方案二: 把你代码贴出来看看.

Java中float,double为什么会丢失精度。

Effective Java Item 48: Avoid float and double if exact answers are required  对于精确计算不提倡使用float,double,因为会丢失精度,这是为什么呢? 让我细细说来 1. 什么是浮点数? 表示一个数字如100.2,可以是Fixed point也就是100.2,也可以是Floating point(也就是科学计数法scientific notation)1.002 ×  102.通常是以第一个非零数字作为小数点前的

Java中涉及byte、short和char类型的运算操作

运算 Java中涉及byte.short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果.因此,如果把两个byte类型值相加,最后会得到一个int类型的结果.如果需要得到byte类型结果,必须将这个int类型的结果显式转换为byte类型.例如,下面的代码会导致编译失败: class BadArithmetic {      static byte addOneAndOne() {        byte a = 1;        by

Java中的两个特殊变量this和super

变量 Java中的两个特殊变量this和super2001-04-26· ·Wayne ··yesky 在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的.this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象.super变量是直接指向超类的构造函数,用来引用超类中的变量和方法.因此它们都是非常有用的变量,下面我想介绍一下this和super的使用方法. 1.this 让我们先看一段代码吧: class Perso