Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    11

    [JAVA] Inserire suono in Java

    Salve a tutti, premetto che ho cercato a lungo, anche nel forum. Il problema è che i codici che a gli altri sembrano funzionare a me non vanno bene(per colpla mia sicuramente), infatti ho appena iniziato con java.

    Passiamo al mio problema:

    questo è il codice che sto usando per cercare di mettere dentro l'audio:

    codice:
    import java.applet.*;
    import java.awt.*;
    
    //definizone della classe
    //ed estensione delle proprietà alla sottoclasse
    public class MusicApplet extends Applet
    {
      //inizializzazione
      public void init()
      {
        try
        {
          //caricamento del file audio
          AudioClip music=getAudioClip(getDocumentBase(), "click.wav");
    
          //riproduzione audio del file
          music.play();
    
          //arresto della riproduzione
          music.stop();
    
          //riproduzione a ciclo continuo
          music.loop();
        }
    
        //notifica delle eccezioni
        catch (Exception e)
        {
        }
      }
    }

    in un altra classe creo l'oggetto MusicApplet audio=new MusicApplet();
    e gli do audio.play();

    ecco che mi esce il seguente errore:

    error: no suitable method found for play()

    method Applet.play(URL,String) is not applicable
    (actual and formal argument lists differ in length)
    method Applet.play(URL) is not applicable
    (actual and formal argument lists differ in length)

  2. #2
    probabilmente non funziona perchè quel codice è per un'applet e non da inserire in un JFrame come vorresti tu

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    11
    Up

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dovresti spiegare un po' meglio quello che stai cercando di fare... dici che in un'altra classe crei un oggetto di tipo MusicApplet... ora, il codice che hai postato tu è un applet (ovvero, una piccola applicazione che funziona solo ed esclusivamente all'interno di una pagina HTML che viene renderizzata da un browser); di conseguenza, non è il programmatore che si deve occupare di istanziare l'oggetto MusicApplet, ma il browser.

    Come ti ha detto anche Mr.Hankey93, quella è un'applet, non una classe da inserire all'interno di un'applicazione stand-alone (anche se può essere fatto, perdendo però alcune caratteristiche).

    Tu stai costruendo un'applet (ovvero qualcosa da far funzionare dentro ad un browser internet) o un'applicazione stand-alone?


    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
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    11
    Io sto costruendo un apllicazione stand alone, questo codice lo trovai cercando in google e veniva anche in quel caso utilizzato non per un applet.

    Ora avevo gia provato altri modi per inserire il suono ma non ci sono mai riuscito, se per caso sai aiutarmi mi faresti un enorme favore, ovviamente non intendo usare quel codice che ho postato se non va bene.

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Io non ho mai avuto la necessità di integrare suoni nelle mie applicazioni. Ad ogni modo, con Google ho trovato immediatamente questa classe:

    http://www.anyexample.com/programmin...sound_file.xml

    L'ho testata e funziona alla perfezione.


    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
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    11
    Grazie mille ora funziona.
    Solo che mi capita che ogni tanto il suono si sente, altre volte mi da questo errore:


    codice:
    Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException
    	at java.lang.Thread.start(Thread.java:682)
    	at Pannello$1.mouseClicked(Pannello.java:46)
    	at java.awt.Component.processMouseEvent(Component.java:6508)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    	at java.awt.Component.processEvent(Component.java:6270)
    	at java.awt.Container.processEvent(Container.java:2229)
    	at java.awt.Component.dispatchEventImpl(Component.java:4861)
    	at java.awt.Container.dispatchEventImpl(Container.java:2287)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    	at java.awt.Container.dispatchEventImpl(Container.java:2273)
    	at java.awt.Window.dispatchEventImpl(Window.java:2713)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
    	at java.awt.EventQueue.access$000(EventQueue.java:101)
    	at java.awt.EventQueue$3.run(EventQueue.java:666)
    	at java.awt.EventQueue$3.run(EventQueue.java:664)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    	at java.awt.EventQueue$4.run(EventQueue.java:680)
    	at java.awt.EventQueue$4.run(EventQueue.java:678)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
    Pannello:4.0
    Exception in thread "AWT-EventQueue-0" java.lang.IllegalThreadStateException
    	at java.lang.Thread.start(Thread.java:682)
    	at Pannello$1.mouseClicked(Pannello.java:46)
    	at java.awt.Component.processMouseEvent(Component.java:6508)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    	at java.awt.Component.processEvent(Component.java:6270)
    	at java.awt.Container.processEvent(Container.java:2229)
    	at java.awt.Component.dispatchEventImpl(Component.java:4861)
    	at java.awt.Container.dispatchEventImpl(Container.java:2287)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    	at java.awt.Container.dispatchEventImpl(Container.java:2273)
    	at java.awt.Window.dispatchEventImpl(Window.java:2713)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
    	at java.awt.EventQueue.access$000(EventQueue.java:101)
    	at java.awt.EventQueue$3.run(EventQueue.java:666)
    	at java.awt.EventQueue$3.run(EventQueue.java:664)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    	at java.awt.EventQueue$4.run(EventQueue.java:680)
    	at java.awt.EventQueue$4.run(EventQueue.java:678)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    11
    Edit: credo di aver risolto. Grazie di tutto

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da alebb
    Edit: credo di aver risolto. Grazie di tutto
    E' buona prassi del forum pubblicare la soluzione quando si risolve, in modo che sia utile a chiunque si trovi ad affrontare il medesimo problema in futuro.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    11
    ah non la ho pubblicata semplicemente perchè c'è gia nella risposta che mi ha dato Leleft, io ovviamente dato che sono di testa dura avevo guardato si il link che mi ha dato, ma poi ho fatto per metà di testa mia. Se invece si fa esattamente come nel link di Leleft non ci sono problemi.

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.