Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [java] campionare wav

  1. #1

    [java] campionare wav

    Come si registra qualcosa di audio in un formato qualsiasi ( anche wav ) con java?

    Qualcuno sa indicarmi la strada giusta?

    Grazie!


  2. #2
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Prova a vedere sul sito Sun.....io mi orienterei verso Java Media Framework.....
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  3. #3
    Ho provato l'esempio di html.it per leggere un file wav...

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

    public class suono extends JFrame
    {


    public suono()
    {

    File sf=new File("error.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){};

    }

    public static void main(String[] ar)
    {
    new suono();

    }

    }

    Ma mi da questo errore:
    java.lang.NoClassDefFoundError: audio/suono (wrong name: suono)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java :537)
    at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader .java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader. java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java: 194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.j ava:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:2 89)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:2 35)
    at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:302)
    Exception in thread "main"

    Che significa ( scusate sono nuovo con java )?

    Grazie

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    L'errore che ti dà sta a significare che tenti di compilare un file che non riesce a trovare... hai usato i package? (sembrerebbe di sì...), Sei nella posizione giusta quando lanci il comando javac? Hai scritto bene i nomi dei file? (Maiuscole e minuscole)


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    uso netbeans...

    la classe si chiama "suono"

    Ho montato il filesystem "c:\sorgenti_java\audio"

    La classe "suono" si trova in "c:\sorgenti_java\audio"


  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Io non uso IDE per Java, il codice lo scrivo tutto a mano... prova ad aggiungere questa riga all'inizio del codice:
    codice:
    package audio;
    Se non dovesse funzionare, prova ad andare a compilare il file da riga di comando... è sempre la soluzione più semplice!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Da riga di comando funziona...
    Però vorrei capire perchè con netbeans no!

  8. #8
    Ok, ho trovato.
    Solo che per far partire il programma ho dovuto specificare il percorso così:

    File sf=new File("c:\\sorgenti_java\\audio\\error.wav");

    e non così:

    File sf=new File("error.wav");

    Esiste il modo di specificare tale percorso in questo modo ( + o - )?

    File sf=new File(APPLICATION.PATH + "\error.wav");

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Generalmente, se il path del file non è completo, esso fa sempre riferimento alla cartella dell'applicazione.
    Comunque, penso che il problema non riguardi l'applicazione in se, ma la configurazione di NetBeans.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    si infatti...come si fa con netbeans quindi?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.