快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰平台游戏a:Java应用技巧-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 中 实 现 , 对 于Application play() 方 法 是 不 能 够 被 调 用 的 。

---- 那 么 , 如 何 在Application 中 实 现澳门新葡亰平台游戏a 发 声 提 示 呢 ?

---- 记 得 VB 中 有 beep 语 句 来 使 系 统 发 声 器(System Speaker ) 发 声 , 那 么 ,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:

"+cl澳门新葡亰平台游戏aientRequest);

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("

奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫*

奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫**");

System.out.println("

@(#)Net

Applecation Version 1.00 97/12/30 ");

System.out.println("Copyright (c) 1997

(Lui DongBing) All Rights Reserved.");

System.out.println("

奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫

奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫");

System.out.println("

Server is:

"+server);

socket=server.accept();

for(int i=0;i< 260;i++){//发 声 提 示

Toolkit.getDefaultToolkit().beep();

}

System.out.println("

Server is ready !

");

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 !");

}

}

}

客 户 机 :

import java.util.*;

import java.io.*;

import java.net.*;

public class ClientT{

public static void main(String[] args){

String welcome,response;

Client client;

client=new Client("202.120.80.20",8001);//#1澳门新葡亰平台游戏a

DataInputStream keyboard=new DataInputStream(System.in);

boolean Bye=false;

while(!Bye){

try{

welcome=client.in.readLine();

System.out.println(" Server says:"+welcome);

client.out.println(keyboard.readLine());

}catch(IOException e){

System.out.println("

The talk is CLOSED !");

System.exit(1);

}

}

try{

Thread.sleep(200);

}catch(Exception e){

System.out.println("It is a bug !");

}

}

}

class Client{

public DataInputStream in;

public PrintStream out;

private Socket client;

public Client(String host,in澳门新葡亰平台游戏at port){

try{

client=new Socket(host,port);

System.out.println("

奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫");

System.out.println("

@(#)Net

Applecation Version 1.00 97/12/30 ");

System.out.println("Copyright (c)

1997 (Lui DongBing) All Rights Reserved.");

System.out.println("

奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫奸淫");

System.out.println("

Client socket:"+client);

System.out.println("

Client is ready !

");

out=new PrintStream(client.getOutputStream());

in=new DataInputStream(client.getInputStream());

}catch(IO澳门新葡亰平台游戏aException e){

System.out.println("

IOException !

"+e);

System.exit(1);

}

}

}

---- 程 序 中 #1 处 的"202.120.80.20" 读 者 可 改 为 自 己 相 应 的 地 址 。

您可能还会对下面的文章感兴趣: