Lang20141228 2014-11-17 08:27 采纳率: 0%
浏览 1588

java中播放音频文件问题,为撒播放不了?

import java.awt.*;

import java.net.*;
import java.awt.event.*;
import java.io.*;
import java.applet.*;

import javax.swing.*;
public class Music extends JFrame implements Runnable,ItemListener,ActionListener{
Thread thread;
JComboBox music;
AudioClip clip;
JButton bplay,bloop,bstop;
String str ;
@SuppressWarnings("unchecked")
Music(){
setVisible(true);
setSize(600,400);
thread=new Thread(this);
music=new JComboBox();
music.addItem("选择音频文件");
music.addItem("会呼吸的痛");
music.addItem("再次相信");
music.addItemListener(this);
bplay=new JButton("播放");
bloop=new JButton("循环");
bstop=new JButton("停止");
bplay.addActionListener(this);
bloop.addActionListener(this);
bstop.addActionListener(this);
setLayout(new FlowLayout());
add(music);
add(bplay);
add(bloop);
add(bstop);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}
public void itemStateChanged(ItemEvent e){
    str=music.getSelectedItem().toString();
    if(!(thread.isAlive())){
        thread=new Thread(this);

    }
    try{
        thread.start();
    }
    catch(Exception ee){}
}
public void run() {
    try{File file=new File(str);
        URI uri=file.toURI();
        URL url=uri.toURL();

        clip=Applet.newAudioClip(url);




    }
    catch(Exception e){}
}


public void actionPerformed(ActionEvent e) {
    if(e.getSource()==bplay)
        clip.play();
    else if( e.getSource()==bloop)
        clip.loop();
    else if( e.getSource()==bstop)
        clip.stop();
}



public static void main(String args[]){
    new Music();
}

}

  • 写回答

1条回答 默认 最新

  • max_min_ 2014-11-18 01:22
    关注

    什么格式的音频数据,对应解码是否正确呢?

    评论

报告相同问题?

悬赏问题

  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?