コードに問題があります。ボタンをクリックすると、.mp3オーディオファイルを含むファイル配列をシャッフルして1つのファイルを再生します。私は絶対にこれを行う方法のアイデアはありません、私はいくつかの助け、本当の助けが必要です!ここに私のコードです!.....それは実行されますが、すべてのファイルを一度に再生します....ランダム化し、ファイルから1つだけ再生します。配列からオーディオファイルをシャッフルして再生する方法
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;
}
});
}
}
あなたの問題は、すべてのサウンドファイルを再生する、または配列から選択/作り上げていますか? – jagdpanzer
配列から選択する、はい、それは私の問題です.....ランダム化してから再生したいです。 –