Şimdi Ara

Switch Case e Ses Atamak

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
87
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar örneğin şöyle bir kod var

    Random s = new Random();
    int sayi= s.nextInt(11);

    switch (sayi)
    {
    case 1 : yazi.setText("deneme1");
    break;
    case 2 : yazi.setText("deneme2");
    break;


    ben burda her case e farklı bir ses nasıl atayabilirim mesela case 1 gelince ses 1 oynayacak case 2 gelince ses 2 oynayacak?



  • import java.io.File;
    import java.io.IOException;
    import java.util.Random;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaPlayer;
    import javax.sound.sampled.AudioInputStream;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
    import javax.sound.sampled.LineUnavailableException;
    import javax.sound.sampled.UnsupportedAudioFileException;

    public class JavaApplication {

    public static void main(String[] args) {
    File soundFile = null;
    Random s = new Random();
    int sayi = s.nextInt(11);
    switch (sayi) {
    case 1:
    soundFile = new File("D:\\Java\\ses1.wav");
    break;
    case 2:
    soundFile = new File("D:\\Java\\ses2.wav");
    break;
    default:
    soundFile = new File("D:\\Java\\sesDiger.wav");
    }

    if (soundFile != null) {
    oynat(soundFile);
    }

    }

    private static void oynat(File soundFile) {

    if (soundFile.getAbsolutePath().contains(".wav")) {
    playSound(soundFile);
    } else if (soundFile.getAbsolutePath().contains("****")) {
    Media hit = new Media(soundFile.getAbsolutePath());
    MediaPlayer mediaPlayer = new MediaPlayer(hit);
    mediaPlayer.play();
    }
    }

    public static synchronized void playSound(final File soundFile) {

    Thread player = new Thread(new Runnable() {
    // The wrapper thread is unnecessary, unless it blocks on the
    // Clip finishing; see comments.
    public void run() {
    AudioInputStream audioInputStream = null;
    try {
    audioInputStream = AudioSystem.getAudioInputStream(soundFile.getAbsoluteFile());
    Clip clip = AudioSystem.getClip();
    clip.open(audioInputStream);
    clip.start();
    } catch (UnsupportedAudioFileException ex) {
    ex.printStackTrace();
    } catch (IOException ex) {
    ex.printStackTrace();
    } catch (LineUnavailableException ex) {
    ex.printStackTrace();
    } finally {
    try {
    audioInputStream.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    }
    }
    });
    player.start();
    }

    }

    Diğer not: Bazen sisteme (anladığım kadarı ile ) senkronize olması ile ilgili problemi oluşabiliyor. Debug modda çaldığını duyabiliyorum.

    Not: Veri örnekleri alıntıdır.
    Kaynak:http://stackoverflow.com/questions/26305/how-can-i-play-sound-in-java
    Kaynak2:http://stackoverflow.com/questions/6045384/playing-mp3-and-wav-in-java




  • quote:

    Orijinalden alıntı: StGuard

    import java.io.File;
    import java.io.IOException;
    import java.util.Random;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaPlayer;
    import javax.sound.sampled.AudioInputStream;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
    import javax.sound.sampled.LineUnavailableException;
    import javax.sound.sampled.UnsupportedAudioFileException;

    public class JavaApplication {

    public static void main(String[] args) {
    File soundFile = null;
    Random s = new Random();
    int sayi = s.nextInt(11);
    switch (sayi) {
    case 1:
    soundFile = new File("D:\\Java\\ses1.wav");
    break;
    case 2:
    soundFile = new File("D:\\Java\\ses2.wav");
    break;
    default:
    soundFile = new File("D:\\Java\\sesDiger.wav");
    }

    if (soundFile != null) {
    oynat(soundFile);
    }

    }

    private static void oynat(File soundFile) {

    if (soundFile.getAbsolutePath().contains(".wav")) {
    playSound(soundFile);
    } else if (soundFile.getAbsolutePath().contains("****")) {
    Media hit = new Media(soundFile.getAbsolutePath());
    MediaPlayer mediaPlayer = new MediaPlayer(hit);
    mediaPlayer.play();
    }
    }

    public static synchronized void playSound(final File soundFile) {

    Thread player = new Thread(new Runnable() {
    // The wrapper thread is unnecessary, unless it blocks on the
    // Clip finishing; see comments.
    public void run() {
    AudioInputStream audioInputStream = null;
    try {
    audioInputStream = AudioSystem.getAudioInputStream(soundFile.getAbsoluteFile());
    Clip clip = AudioSystem.getClip();
    clip.open(audioInputStream);
    clip.start();
    } catch (UnsupportedAudioFileException ex) {
    ex.printStackTrace();
    } catch (IOException ex) {
    ex.printStackTrace();
    } catch (LineUnavailableException ex) {
    ex.printStackTrace();
    } finally {
    try {
    audioInputStream.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    }
    }
    });
    player.start();
    }

    }

    Diğer not: Bazen sisteme (anladığım kadarı ile ) senkronize olması ile ilgili problemi oluşabiliyor. Debug modda çaldığını duyabiliyorum.

    Not: Veri örnekleri alıntıdır.
    Kaynak:http://stackoverflow.com/questions/26305/how-can-i-play-sound-in-java
    Kaynak2:http://stackoverflow.com/questions/6045384/playing-mp3-and-wav-in-java

    Çok teşekkür ederim

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.