Avatar billede jee Nybegynder
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 ?
Avatar billede jee Nybegynder
25. november 2006 - 17:40 #1
Knappe kan enten være en grafisk knap eller bare en tast som fx. "f"
Avatar billede jee Nybegynder
25. november 2006 - 17:55 #2
Jeg giver 100 point til den der giver et eksempel på det
Avatar billede winners79 Nybegynder
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();

    }

}
Avatar billede winners79 Nybegynder
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();

    }

}
Avatar billede jee Nybegynder
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
Avatar billede winners79 Nybegynder
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:
Avatar billede jee Nybegynder
25. november 2006 - 19:22 #7
mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester