ورود

View Full Version : سوال: نیاز به کمک فوری: گذاشتن صدا روی برنامه



golsa_6
سه شنبه 27 تیر 1391, 14:38 عصر
سلام میخواستم روی برنامم صدا بذارم. این کدو پیدا کردم، عمل نمیکرد. کمک :((


public class Sound {
public static void play (String name){
InputStream input=null;
try {
input = new FileInputStream(name);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioStream au=null;
try {
au = new AudioStream(input);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AudioPlayer.player.start(au);

}
}



جایی که خواستم صدا پخش شه هم اینو گذاشتم:

Sound.play("seda.wav");


اگرم راه دیگه دارین بگین.

نیاز فوری دارم.

ممنون

persianshadow
سه شنبه 27 تیر 1391, 21:22 عصر
برای اینکه این کلاس‌ها درست کار کنند و در اصل کار کنند شما باید فرمت‌ فایل‌های با پسوند MIDI رو برای پخش بهشون بدید و نه هر فرمت صوتی رو.

vahidsadeqi
جمعه 30 تیر 1391, 16:23 عصر
سلام ، برای پخش صوت میشه از کد زیر استفاده کرد :

class threadPlayer extends Thread {

@Override
public void run() {
FileInputStream fis = null;
try {
fis = new FileInputStream(soundName+ ".mp3");
BufferedInputStream bis = new BufferedInputStream(fis);
player = new Player(bis);
try {
player.play();
} catch (Exception e) {
System.out.println(e);
}
} catch (JavaLayerException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (FileNotFoundException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Le vel.SEVERE, null, ex);
} finally {
try {
fis.close();
} catch (IOException ex) {
Logger.getLogger(MainFrame.class.getName()).log(Le vel.SEVERE, null, ex);
}
}

}
}

void playSound() {
try {
thplayer = new threadPlayer();
thplayer.setPriority(5);
thplayer.start();
} catch (Exception ex) {
}
}

void stop() {
try {
if (player != null) {
player.close();
}
thplayer.stop();
} catch (Exception ex) {
}
}