点击按钮播放声音

时间:2014-12-17 19:46:45

标签: java audio playback

我有一个很大的问题在这里我尝试了一百万种方法,但没有任何帮助,这里是我试图做的链接......

https://www.youtube.com/watch?v=nUKya2DvYSo
How can I play sound in Java?
http://forum.codecall.net/topic/58228-playing-simple-sampled-audio-in-java/ http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml

只有一些链接仍然在浏览器中打开,但没关系..我在NetBeans中制作这个,我真的无法弄清楚我该怎么做才能帮助我。 这是我想要制作的课程以及按钮..如果你能为我做这件事,我将非常高兴

public class Machines extends javax.swing.JFrame {

public Machines() {
    initComponents();
}

private void spinBtnActionPerformed(java.awt.event.ActionEvent evt) {                                        

}

音乐文件也是spinsound.wav,我放在我的项目目录中的链接C:\Users\MONSTER\Desktop\STEFAN\NetBeansProjects\PasswordSaver\spinsound.wav

4 个答案:

答案 0 :(得分:1)

你可以试试这个:

ClassLoader CLDR = this.getClass().getClassLoader();
InputStream soundName = CLDR.getResourceAsStream("yourDirectory/yourSound.wav");
AudioStream audioStream = new AudioStream(soundName);
AudioPlayer.player.start(audioStream);

检查Google后从here获取。

答案 1 :(得分:0)

由于您只想播放声音,您可以使用我在下面提供的示例: 查看file:C:/image/song.wav,在目录声明之前有一个file:关键字..

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.swing.*;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;

public class WavPlayer extends JFrame { 
    JButton btn = new JButton("Play Sound");
    File wavFile;
    URL defaultSound;
    public static Clip clip;
    public static AudioInputStream audioInputStream;

    public WavPlayer(String url) {
        try {
            setSize(300, 100);
            setLocation(400, 300);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            JPanel jp = new JPanel();
            defaultSound = new URL (url);

            jp.add(btn);

            getContentPane().add(jp);
            pack();

            btn.addActionListener(new ActionListener() {             
                @Override
                public void actionPerformed(ActionEvent e) {
                    play();
                }
            });
        } catch (MalformedURLException ex) {
            Logger.getLogger(WavPlayer.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void play() {
        try {
            audioInputStream = AudioSystem.getAudioInputStream(defaultSound);

            try {
                clip = AudioSystem.getClip();
                clip.open(audioInputStream);
                clip.loop(20000);
                clip.start();

            } catch (LineUnavailableException e) {
            }

        } catch (UnsupportedAudioFileException | IOException e) {
        }
    }

    public void stop() {
        clip.stop();
    }

    public static void main(String args[]) {
        WavPlayer t = new WavPlayer("file:C:/image/song.wav");
        t.setVisible(true);

    }
}

答案 2 :(得分:0)

去学习基本的java编程。然后,当你接下来遇到“问题”时,你就能更好地解释你的情况。它曾经是一个要求,人们将他们的代码粘贴到有问题的地方,但你粘贴了一些疯狂的东西。现在,你仍然难以理解,因为你是在跳枪。您需要学习基本的GUI编程并尝试进行一些声音分析。然后,坐下来玩声音。只要你在这个论坛上,当你准备好了,就会有很多人在这里帮助你(包括我的卑微自我)。首先是GUI构建和基本的java编码。

答案 3 :(得分:0)

寻找完全复制的代码将比研究和了解编码及其过程更有帮助。