当前位置: 技术问答>java相关
No Sound. Help!
来源: 互联网 发布时间:2015-09-10
本文导语: 要发疯了,就是发不出声音:(没有任何异常) import javax.swing.*; import java.applet.*; import java.net.URL; import java.net.MalformedURLException; import java.io.*; public class Untitled1 { public Untitled1() { } public static void main(St...
要发疯了,就是发不出声音:(没有任何异常)
import javax.swing.*;
import java.applet.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.*;
public class Untitled1 {
public Untitled1() {
}
public static void main(String[] args) {
JFrame frame=new JFrame();
try{
File annoyingFile = new File("C:/TestJsp/defaultroot/sound/msg.wav");
AudioClip annoying = Applet.newAudioClip(annoyingFile.toURL());
annoying.play();
} catch(MalformedURLException e){ System.exit(0); }
frame.setDefaultCloseOperation(3);
frame.setSize(100,200);
frame.setVisible(true);
}
}
JBuilder7
import javax.swing.*;
import java.applet.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.*;
public class Untitled1 {
public Untitled1() {
}
public static void main(String[] args) {
JFrame frame=new JFrame();
try{
File annoyingFile = new File("C:/TestJsp/defaultroot/sound/msg.wav");
AudioClip annoying = Applet.newAudioClip(annoyingFile.toURL());
annoying.play();
} catch(MalformedURLException e){ System.exit(0); }
frame.setDefaultCloseOperation(3);
frame.setSize(100,200);
frame.setVisible(true);
}
}
JBuilder7
|
如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。
|
参考一下:(我也没有用过)希望能对你有帮助!
AudioClip接口
播放
循环
停止
恢复和播放声音最简单的方法是通过Applet类的play()方法。调用play()方法有如下二种方式:
play()-带有一个参数,一个 URL对象,装载并演奏储存在 URL处的声音片断。
play()-带有二个参数,基本 URL和文件夹路径名,装载并演奏声音文件。第一参数经常是对getCodeBase()或 getDocumentBase()的调用。
下列代码片断举例说明了直接播放 hello.au的方法。AU文件与小应用程序位于相同文件夹或目录。
play(getCodeBase(), "hello.au");
play()一旦被调用立刻开始恢复和播放声音。如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。
启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,类似上面play()方法的参数,getAudioClip方法要用一个或两个参数,当作播放的指示。 第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。
下列代码行举例说明加载声音文件进入剪贴对象:
AudioClip co = getAudioClip(getCodeBase(), "horns.wav");
getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:
AudioClip co = newAudioClip("horns.wav");
在你已创建 AudioClip对象之后,你能用该对象调用play()、loop()以及stop()方法。如果 getAudioClip或 newAudioClip方法不能找到指定的声音文件, AudioClip对象的值将是空的。试着播放空对象会导致出错,所以标准的过程首先是对该条件进行检测。
接下来是一个完整的程序设计示例,该程序将产生一个applet,当鼠标在该小应用程序applet范围内按下时会播放 flute+hrn+mrmba.au音乐样本。此AU示例文件与applet在相同目录或文件夹下的。
import java.applet.*;
import java.awt.event.*;
public class PlayAudio extends Applet
implements MouseListener {
AudioClip audio;
public void init() {
audio = getAudioClip(getDocumentBase(),
"flute+hrn+mrmba.au");
addMouseListener(this);
}
public void mousePressed(MouseEvent evt) {
if (audio != null) audio.play();
}
public void mouseEntered (MouseEvent me) {
}
public void mouseExited (MouseEvent me) {
}
public void mouseClicked (MouseEvent me) {
}
public void mouseReleased(MouseEvent me) {
}
}
注意: 在许多JAVA2技术书籍中,mouseDown()方法确实是JAVA 1.0事件模型的一部分。使用该方法会有一定的危险,因为该方法在将来可能不会被支持。在JAVA2平台下将MouseListener与mousePressed结合使用是优先的选择。
AudioClip接口
播放
循环
停止
恢复和播放声音最简单的方法是通过Applet类的play()方法。调用play()方法有如下二种方式:
play()-带有一个参数,一个 URL对象,装载并演奏储存在 URL处的声音片断。
play()-带有二个参数,基本 URL和文件夹路径名,装载并演奏声音文件。第一参数经常是对getCodeBase()或 getDocumentBase()的调用。
下列代码片断举例说明了直接播放 hello.au的方法。AU文件与小应用程序位于相同文件夹或目录。
play(getCodeBase(), "hello.au");
play()一旦被调用立刻开始恢复和播放声音。如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。
启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,类似上面play()方法的参数,getAudioClip方法要用一个或两个参数,当作播放的指示。 第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。
下列代码行举例说明加载声音文件进入剪贴对象:
AudioClip co = getAudioClip(getCodeBase(), "horns.wav");
getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:
AudioClip co = newAudioClip("horns.wav");
在你已创建 AudioClip对象之后,你能用该对象调用play()、loop()以及stop()方法。如果 getAudioClip或 newAudioClip方法不能找到指定的声音文件, AudioClip对象的值将是空的。试着播放空对象会导致出错,所以标准的过程首先是对该条件进行检测。
接下来是一个完整的程序设计示例,该程序将产生一个applet,当鼠标在该小应用程序applet范围内按下时会播放 flute+hrn+mrmba.au音乐样本。此AU示例文件与applet在相同目录或文件夹下的。
import java.applet.*;
import java.awt.event.*;
public class PlayAudio extends Applet
implements MouseListener {
AudioClip audio;
public void init() {
audio = getAudioClip(getDocumentBase(),
"flute+hrn+mrmba.au");
addMouseListener(this);
}
public void mousePressed(MouseEvent evt) {
if (audio != null) audio.play();
}
public void mouseEntered (MouseEvent me) {
}
public void mouseExited (MouseEvent me) {
}
public void mouseClicked (MouseEvent me) {
}
public void mouseReleased(MouseEvent me) {
}
}
注意: 在许多JAVA2技术书籍中,mouseDown()方法确实是JAVA 1.0事件模型的一部分。使用该方法会有一定的危险,因为该方法在将来可能不会被支持。在JAVA2平台下将MouseListener与mousePressed结合使用是优先的选择。
|
不知道,帮你up一下