Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Java problema audio

    Ciao a tutti, il mio problema e questo: ho una piccolissima applicazione con un clip audio.wav che si ascolta all'apertura del programma. Io il tutto l'ho compresso in un file.jar. L'audio funziona solamente se il file.wav si trova nella stessa directory dove si trova il programmino.jar. Se io sposto il file.jar fuori dalla cartella, l'audio non si sente. Mi dite dove stà il problema? anche perche quando ho compresso il programma il .jar ha compresso tutti i file anche il file.wav. Vi ringrazio ciao.
    HARDCORE WILL NEVER DIE!!!http://www.musicahardcore.it
    http://www.bedandgo.it

  2. #2

    nessuno

    Ragazzi nessuno per cortesia mi sà dare una spiegazione please?
    HARDCORE WILL NEVER DIE!!!http://www.musicahardcore.it
    http://www.bedandgo.it

  3. #3
    posta la parte di codice dove fai partire il file audio!
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    potrebbe essere un problema di percorsi all'interno del jar... te ne esci recuperando il File sottoforma di URL

    codice:
    protected static File createPlayableFile(String path) {
            java.net.URL fileURL = nomeClasse.class.getResource(path);
            File f;
            if (fileURL != null) {
                try {
                    f = new File(fileURL.getFile());
                } catch (Exception e) {
                    f = null;
                    System.out.println(e.toString());
                }
                return f;
            } else {
                System.err.println("Couldn't find file: " + path);
                return null;
            }
        }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Hai controllato che anche spostando il file jar in un'altra posizione rispetto al file audio il path del file audio stesso resta corretto??

    sono stato preceduto...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    bhè, col sistema "url" stai sicuro che recuperi il file dentro il jar... è uno dei motivi per cui nel tutorial su swing che trovi nel sito della sun utilizzano il metodo createImageIcon (che ho semplicemente modificato per fargli tornare un File invece che ImageIcon) per recuperare le immagini da utilizzare nelle applicazioni. Ciao.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7

    Questo e il codice

    import javax.sound.sampled.*;
    import java.io.*;


    public class suono extends JFrame
    {


    public suono()
    {

    File sf=new File("italian.wav");
    AudioFileFormat aff;
    AudioInputStream ais;


    try
    {


    aff=AudioSystem.getAudioFileFormat(sf);

    ais=AudioSystem.getAudioInputStream(sf);


    AudioFormat af=aff.getFormat();


    DataLine.Info info = new DataLine.Info(
    Clip.class,
    ais.getFormat(),
    ((int) ais.getFrameLength() *
    af.getFrameSize()));

    Clip ol = (Clip) AudioSystem.getLine(info);

    ol.open(ais);

    ol.loop(Clip.LOOP_CONTINUOUSLY);

    System.out.println("Riproduzione iniziata, premere CTRL-C per interropere");

    }
    catch(UnsupportedAudioFileException ee){}
    catch(IOException ea){}
    catch(LineUnavailableException LUE){};
    show();
    }





    public static void main(String[] ar){

    suono a= new suono();



    }

    }

    Penso che il problema sia sicuramente qui /// File sf=new File("italian.wav");/// però non capisco perche quando comprimo la classe in .jar il clip audio lo associa alla classe, e il percorso penso che sia giusto. Io non gli ho dato un percorso assoluto. Però continua a non funzionare. Help
    HARDCORE WILL NEVER DIE!!!http://www.musicahardcore.it
    http://www.bedandgo.it

  8. #8
    Beh per forza che quando sposti il jar non funziona lui cerca il file audio nella stessa cartella in cui c'è il jar dato che non indichi nessun percorso nel tuo codice.
    Quindi quando sposti il file jar lui non trova più il wave!

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    l'ho rimaneggiato un pochino:

    codice:
    import javax.sound.sampled.*; 
    import javax.swing.*;
    import java.io.*; 
    
    
    public class suono extends JFrame {
        
        public AudioInputStream getAudioInputStream(String filename)    {
            
            InputStream stream = null;
            try
            {
               stream = (getClass().getResourceAsStream(filename));
               return (AudioSystem.getAudioInputStream(stream)); 
            }
            catch(Exception ex)
            {
                System.out.println("Errore: " + ex.toString());
                return null;
            }                     
        }
    
        
        
        public suono() {
            try {
                AudioFileFormat aff;
                AudioInputStream ais;         
    
                ais = getAudioInputStream("/serenade.wav");
                
                AudioFormat af=ais.getFormat();
                
                DataLine.Info info = new DataLine.Info(Clip.class, af);
                
                Clip ol = (Clip) AudioSystem.getLine(info);
                ol.open(ais);
                ol.loop(Clip.LOOP_CONTINUOUSLY);
    
                System.out.println("Riproduzione iniziata, premere CTRL-C per interropere");
                this.setSize(400,300);
                //this.getContentPane().add(playing);
                this.setVisible(true);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);            
            } 
            catch (Exception e) {
                System.out.print(e.toString());
            }
        }
    
        public static void main(String[] ar) {
            suono a = new suono();
        }
    }
    se vuoi il jar, tanto per vedere che va mandami un pvt che te lo spedisco via email.
    Ciao
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10

    Ti ringrazio

    Ti ringrazio, però io vorrei che funzionasse in qualsiasi parte, come posso fare?
    C'è un modo per sapere in che directory si trova il file.jar in quel preciso istante? perche se cosi fosse io il percoso lo aggancio dove richiamo il file.wav e in teoria (in teoria ) dovrebbe funzionare voi che dite?
    HARDCORE WILL NEVER DIE!!!http://www.musicahardcore.it
    http://www.bedandgo.it

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.