Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [JAVA] Riprodurre file wav

    Buongiorno,

    vorrei sapere come posso semplicemente riprodurre un file wav già presente nel mio PC.

    Al verificarsi di un evento, la mia applicazione dovrebbe riprodurre questo file e poi continuare nell'esecuzione anche quando il file fosse terminato.

    So che può sembrare assurdo, ma mi sono perso nel mare della documentazione ufficiale della Sun.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Riprodurre file wav

    Originariamente inviato da ragnonerodocet
    vorrei sapere come posso semplicemente riprodurre un file wav già presente nel mio PC.
    Prova a leggere questo articolo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ho provato a scrivere qualcosa del genere...

    class PlayThread extends Thread{
    byte tempBuffer[] = new byte[10000];

    public void run(){
    try{
    sourceDataLine.open(audioFormat);
    sourceDataLine.start();

    }catch (Exception e) {
    e.printStackTrace();
    System.exit(0);
    }//end catch
    }//end run
    }//end inner class PlayThread

    private void playAudio () {
    try{
    File soundFile =
    new File("/home/Adriano/Scrivania/Documento 1 non salvato");
    audioInputStream = AudioSystem.
    getAudioInputStream(soundFile);
    DataLine.Info dataLineInfo =
    new DataLine.Info(
    SourceDataLine.class,
    audioFormat);

    sourceDataLine =
    (SourceDataLine)AudioSystem.getLine(
    dataLineInfo);
    new PlayThread().start();
    }catch (Exception e) {
    e.printStackTrace();
    System.exit(0);
    }//end catch
    }//end playAudio

  4. #4
    Può andare bene???

    O c'è qualcosa di clamoroso che mi manca???

  5. #5
    Ecco il primo errore:

    java.lang.IllegalArgumentException: No line matching interface SourceDataLine is supported.


    Ho cercato della documentazione ma i casi come il mio sono pochini...

    Credo che comunque il problema sia il formato, che è un wav.

    Possibile si trati di questo?

  6. #6
    Ho provato sia con wav che con mp3 che con midi.

    Sempre stesso errore...

  7. #7
    Sono riuscito a riprodurre un file midi con queste linee di codice

    import java.io.File;
    import java.io.IOException;
    import java.net.MalformedURLException;

    import javax.sound.midi.InvalidMidiDataException;
    import javax.sound.midi.MidiSystem;
    import javax.sound.midi.MidiUnavailableException;
    import javax.sound.midi.Sequence;
    import javax.sound.midi.Sequencer;


    public class MusicApplet
    {

    public void init() {

    try {
    // From file
    Sequence sequence = MidiSystem.getSequence(new File("/home/Adriano/Scrivania/bia_la_sfida_della_magia.mid"));



    // Create a sequencer for the sequence
    Sequencer sequencer = MidiSystem.getSequencer();
    sequencer.open();
    sequencer.setSequence(sequence);

    // Start playing
    sequencer.start();
    } catch (MalformedURLException ex) {ex.printStackTrace();
    } catch (MidiUnavailableException ex) {ex.printStackTrace();
    }catch (IOException ex) {ex.printStackTrace();
    } catch (InvalidMidiDataException ex) {
    // TODO Auto-generated catch block
    ex.printStackTrace();
    }
    }


    public static void main (String [] args){
    MusicApplet e = new MusicApplet ();


    e.init();


    }


    }
    Ma lo stesso codice non va bene per i file wav.

    C'è una libreria che mi permette in maniera così semplice di riprodurre un file wav o mp3???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.