Ich habe ein paar Probleme mit meinem Code, ich möchte ein Dateiarray mischen, das .mp3 Audiodateien enthält und eine Datei abspielen, wenn auf eine Schaltfläche geklickt wird !! Ich habe absolut keine Idee, wie das geht, ich brauche Hilfe, echte Hilfe !! Hier ist mein Code! ..... Es läuft, aber es spielt alle Dateien auf einmal .... Ich möchte es randomisieren, und spielen Sie nur eine der Dateien.Wie man eine Audiodatei von einem Array mischen und abspielen kann
import javax.swing.*;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Array;
import java.util.Random;
public class Quest1 extends JFrame {
String word [] = { "C:/Users/HP/Desktop/eclipse/audio.wav",
"C:/Users/HP/Desktop/eclipse/baby.wav",
"C:/Users/HP/Desktop/eclipse/board.wav",
"C:/Users/HP/Desktop/eclipse/bomb.wav",
"C:/Users/HP/Desktop/eclipse/gym.wav",
"C:/Users/HP/Desktop/eclipse/football.wav",
"C:/Users/HP/Desktop/eclipse/school.wav",
"C:/Users/HP/Desktop/eclipse/keyboard.wav",
"C:/Users/HP/Desktop/eclipse/computer.wav",
"C:/Users/HP/Desktop/eclipse/name.wav" };
JButton click;
public Quest1() {
getContentPane().setBackground(Color.DARK_GRAY);
setLayout(new GridBagLayout());
GridBagConstraints g = new GridBagConstraints();
g.anchor = GridBagConstraints.CENTER;
g.gridx = 4;
g.gridy = 5;
g.gridwidth = 2;
g.insets = new Insets (50, 2, 2, 2);
g.fill = GridBagConstraints.CENTER;
fill = new JTextField(15);
add (fill, g);
g.anchor = GridBagConstraints.CENTER;
g.gridx = 4;
g.gridy = 8;
g.gridwidth = 2;
g.insets = new Insets (30, 2,2,2);
click = new JButton("Play");
add(click, g);
click.addActionListener (new ActionListener(){
public void actionPerformed (ActionEvent x) {
Random rand = new Random();
for (int i = 0; i < word.length;) {
int random = rand.nextInt(word.length);
String temp = word[i];
word [i] = word[random];
word[random] = temp;
InputStream in =null;
AudioStream out = null;
try {
in = new FileInputStream(temp);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
out = new AudioStream(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioPlayer.player.start(out);
}
return;
}
});
}
}
Ist Ihr Problem der Sound-Dateien überhaupt zu spielen, oder Crafting/aus dem Array der Auswahl? – jagdpanzer
Auswahl aus dem Array, ja, das ist mein Problem ..... Ich möchte randomisieren, dann spielen. –