java swt实现播放音乐代码如下:
专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业镇原免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
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 java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java点虐 .*;
import javax.swing.*;
import java.io.File;
class AudioPlayDemo extends JFrame implements ActionListener {
boolean looping = false;
File file1 = new File("music\\明天会更好.wav");
AudioClip sound1;
AudioClip chosenClip;
JButton playButton = new JButton("播放");
JButton loopButton = new JButton("循环播放");
JButton stopButton = new JButton("停止");
JLabel status = new JLabel("选择播放文件");
JPanel controlPanel = new JPanel();
Container container = getContentPane();
public AudioPlayDemo() {
try {
sound1 = Applet.newAudioClip(file1.toURL());
chosenClip = sound1;
} catch(OutOfMemoryError e){
System.out.println("内存溢出");
e.printStackTrace();
} catch(Exception e){
e.printStackTrace();
}
playButton.addActionListener(this);
loopButton.addActionListener(this);
stopButton.addActionListener(this);
stopButton.setEnabled(false);
controlPanel.add(playButton);
controlPanel.add(loopButton);
controlPanel.add(stopButton);
container.add(controlPanel, BorderLayout.CENTER);
container.add(status, BorderLayout.SOUTH);
setSize(300, 130);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
public void actionPerformed(ActionEvent event) {
if (chosenClip == null) {
status.setText("声音未载入");
return;
}
Object source = event.getSource(); //获取用户洗涤激活的按钮
if (source == playButton) {
stopButton.setEnabled(true);
loopButton.setEnabled(true);
chosenClip.play();
status.setText("正在播放");
}
if (source == loopButton) {
looping = true;
chosenClip.loop();
loopButton.setEnabled(false);
stopButton.setEnabled(true);
status.setText("正在循环播放");
}
if (source == stopButton) {
if (looping) {
looping = false;
chosenClip.stop();
loopButton.setEnabled(true);
} else {
chosenClip.stop();
}
stopButton.setEnabled(false);
status.setText("停止播放");
}
}
public static void main(String s[]) {
new AudioPlayDemo();
}
}
兄弟给分吧```
使用Applet播放声音时需首先定义AudioClip对象 GetAudioClip方法能把声音赋予AudioClip对象 如果仅想把声音播放一遍 应调用AudioClip类的play方法 如果想循环把声音剪辑 应选用AudioClip类的loop方法
图像格式各种各样 如BMP GIF和JPEG等 声音文件也一样 WAV和AU是最常用的两种声音文件 目前Java仅支持AU文件 但Windows环境下常用的却是WAV文件 所以最好能有一个可把WAV文件转换为AU文件的工具
* 播放声音的AudioClip类
AudioClip类用来在Java Applet内播放声音 该类在java Applet包中有定义
下面演示了如何利用AudioClip类播放声音
装入一个名为Sample Au的声音文件并播放(SoundDemo java)
//源程序清单 import java awt *; import java applet * public class SoundDemo extends Applet { public void paint(Graphics g) { AudioClip audioClip=getAudioClip(getCodeBase() Sample AU ); //创建AudioClip对象并用//getAudioClip方法将其初始化 g drawstring( Sound Demo! ); audioClip loop() //使用AudioClip类的loop方法循环播放 } }
需把如下的HTML语句放入SoundDemo HTML文件 为运行该Applet做准备
<HTML> <TITLE>SoundDemo Applet</TITLE> <APPLET CODE= SoundDemo class WIDTH= HEIGHT= > </APPLET> </HTML>
lishixinzhi/Article/program/Java/hx/201311/27027