25. november 2006 - 17:38
Der er
6 kommentarer og 1 løsning
Afspil lyd i Java
Hey Nogen der har et godt foreslag til hvordan jeg afspiller en .waw ved tryk på en knap I java Jeg har søgt og søgt, men fandt ikke rigtigt noget brugeligt Er det overhovedet muligt ?
Annonceindlæg tema
25. november 2006 - 17:40
#1
Knappe kan enten være en grafisk knap eller bare en tast som fx. "f"
25. november 2006 - 17:55
#2
Jeg giver 100 point til den der giver et eksempel på det
25. november 2006 - 18:32
#3
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.DataLine; import javax.swing.JButton; import javax.swing.JFrame; public class Sound extends JFrame { Clip mySoundClip; public Sound() { File mySound = new File("mySound.wav"); try { AudioInputStream streamMySound = AudioSystem .getAudioInputStream(mySound); AudioFormat formatMySound = streamMySound.getFormat(); DataLine.Info infoMySound = new DataLine.Info(Clip.class, formatMySound); mySoundClip = (Clip) AudioSystem.getLine(infoMySound); mySoundClip.open(streamMySound); } catch (Exception e) { e.printStackTrace(); } JFrame frame = new JFrame(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton button = new JButton("Spil lyd"); frame.add(button); frame.pack(); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { mySoundClip.setFramePosition(0); mySoundClip.start(); } }); } public static void main(String[] args) { Sound sound = new Sound(); } }
25. november 2006 - 18:39
#4
lille rettelse, behøvede selvfølgelig ikke oprette en ny JFrame inde i Framen, men begger virker perfect:) import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.DataLine; import javax.swing.JButton; import javax.swing.JFrame; public class Sound extends JFrame { Clip mySoundClip; public Sound() { File mySound = new File("mySound.wav"); try { AudioInputStream streamMySound = AudioSystem .getAudioInputStream(mySound); AudioFormat formatMySound = streamMySound.getFormat(); DataLine.Info infoMySound = new DataLine.Info(Clip.class, formatMySound); mySoundClip = (Clip) AudioSystem.getLine(infoMySound); mySoundClip.open(streamMySound); } catch (Exception e) { e.printStackTrace(); } setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton button = new JButton("Spil lyd"); add(button); pack(); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { mySoundClip.setFramePosition(0); mySoundClip.start(); } }); } public static void main(String[] args) { Sound sound = new Sound(); } }
25. november 2006 - 18:39
#5
Hvilken mappe skal jeg ligge lydfilen i for at det kan finde den ? btw, du fortjener de 100 for det der, mange tak
25. november 2006 - 19:00
#6
det var så lidt:) File mySound = new File("mySound.wav"); angiver navnet på filen, og når der ikke er en sti angivelse går den ud fra af den ligger i roden af projekt mappen. Men du kan også lave en sti angivelse: File mySound = new File("c:/mySound.wav"); så ligger den i roden af c:
25. november 2006 - 19:22
#7
mange tak
Kurser inden for grundlæggende programmering