2016-03-30 3 views
0

Ich versuche ein Programm zu erstellen, das bei jedem Drücken der Taste eine zufällige WAV-Datei abspielt. Ich habe alles eingerichtet, außer wie man eine zufällige Datei spielt. Wie würde ich eine Zufallsdatei aus der Auswahl der beiden Dateien abspielen?So erstellen Sie einen Audiodatei-Player, der jedes Mal eine zufällige Datei abspielt

public class joeyMain { 

public static void main(String[] args) { 
    GUI g = new GUI(); 
    g.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    g.setSize(300,200); 
    g.setVisible(true); 
} 

}

public class GUI extends JFrame{ 

static void PlaySound(File Sound){ 
    try{ 
     Clip clip = AudioSystem.getClip(); 
     clip.open(AudioSystem.getAudioInputStream(Sound)); 
     clip.start(); 

     Thread.sleep(clip.getMicrosecondLength()/1000); 
    }catch(Exception e){ 

    } 
} 

private JButton r; 

public GUI(){ 
    super("AreaFinder"); 
    setLayout(new FlowLayout()); 
    setSize(800, 800); 

    r = new JButton("Random Joey Quote"); 
    r.addMouseListener(new MouseListener() { 
     public void mouseClicked(MouseEvent arg0) { 
      File Joey1 = new File("video1.WAV"); 
      File Joey2 = new File("video2.WAV"); 
      PlaySound(Joey1); 
     } 
     public void mouseEntered(MouseEvent arg0) {} 
     public void mouseExited(MouseEvent arg0) {} 
     public void mousePressed(MouseEvent arg0) {} 
     public void mouseReleased(MouseEvent arg0) {} 
    }); 
    add(r); 
} 

}

+0

http://stackoverflow.com/questions/363681/generating-random-integers-in-a-specific-range –

+0

Wie verwende ich Zufalls Randomize WAV-Dateien, keine Zahlen? –

+0

Sie haben verschiedene Optionen. Zum Beispiel Dateien zu einem Array hinzufügen und dann eine Zufallszahl zwischen 0 und array.length-1. Dann können Sie eine zufällige Datei auswählen –

Antwort

0

Sie sie in Array setzen und dann zufällig einer von ihnen wählen.

File[] arr = new File[] {new File("video1.WAV"), new File("video2.WAV")}; 
Random random = new Random(); 
PlaySound(arr[random.nextInt(arr.length)]); 
0

Erstellen Sie eine ArrayList mit allen hinzugefügten Dateien. Nun können Sie den folgenden Code verwenden, können durch schnellen Schnecke erwähnte eine Zufallszahl

ThreadLocalRandom.current().nextInt(min, max + 1); 

und erhalten die zufällige Datei aus der Array-Liste zu erzeugen.

0

Verwenden Sie die Math.random() Funktion:

public void mouseClicked(MouseEvent arg0) { 
File Joey1 = new File("video1.WAV"); 
File Joey2 = new File("video2.WAV"); 
int rnd2 = (int) (2 * Math.random()); 
if (rnd2==0) PlaySound(Joey1); 
else PlaySound(Joey2); 
} 
Verwandte Themen