当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015计算机二级考试指导:使用java播放声音文件
发布时间:2010/3/10 15:39:42 来源:城市学习网 编辑:MOON
  因为java强大的类库,解决这个问题并不困难,只是API的调用问题而已。不过,不同的调用也有区别。
  很多人讲要使用JFM,不过我懒得去安装,所以另寻他法。网上提供最多的方法就是利用Applet中的AudioClip来解决,代码很简单,
  public void play(String Filename)//Filename是乐曲名称或说路径(不过“路径”我没尝试)
  {
  try {
  URL url = new URL("file:" + Filename);
  AudioClip ac = Applet.newAudioClip(url);
  ac.play();
  //ac.stop();//用此函数可以停止乐曲播放
  } catch (Exception e) {
  System.out.println(e);
  }
  }
  当然,前提是导入3个包:
  import java.applet.Applet;
  import java.applet.AudioClip;
  import java.net.URL;
  然而实践证明这个方法并不好用,播放的声音断断续续,听起来简直是一种折磨~(不晓得这是类库本身的原因还是我电脑的故障~)后来发现了一个好方法,是由http://wenda.tianya.cn/wenda/thread?tid=7f56d51cd8e46a29&clk=wttpcts中的”神之泪花“提供的。
  public void play(String Filename)
  {
  try{
  // 用输入流打开一音频文件
  InputStream in = new FileInputStream(Filename);//FIlename 是你加载的声音文件如(“game.wav”)
  // 从输入流中创建一个AudioStream对象
  AudioStream as = new AudioStream(in);
  AudioPlayer.player.start(as);//用静态成员player.start播放音乐
  //AudioPlayer.player.stop(as);//关闭音乐播放
  //如果要实现循环播放,则用下面的三句取代上面的“AudioPlayer.player.start(as);”这句
  /*AudioData data = as.getData();
  ContinuousAudioDataStream gg= new ContinuousAudioDataStream (data);
  AudioPlayer.player.start(gg);// Play audio.
  */
  //如果要用一个 URL 做为声音流的源(source),则用下面的代码所示替换输入流来创建声音流:
  /*AudioStream as = new AudioStream (url.openStream());
  */
  } catch(FileNotFoundException e){
  System.out.print("FileNotFoundException ");
  } catch(IOException e){
  System.out.print("有错误!");
  }
  }
  而要使用这个方法,导入的包与上一方法不同:
  import sun.audio.*; //java提供的,经常被忽略吧~
  import java.io.*;
  使用这个方法在我电脑上播放,很流畅。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved