Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453

    Controllare riproduzione suoni in javascript

    ciao a tutti...

    sto facendo un gioco javascript, e vorrei far uso di suoni .wav da associare a certi eventi.

    Ho letto che <object> non è supportato da IE, quindi presumo di dover usare <embed>, anche se non è standard.

    Se le premesse sono corrette, volevo sapere come posso manipolare un oggetto embed:

    vorrei mettere un player che inizialmente non riproduce niente, poi via js gli passo dei suoni da riprodurre una sola volta.

    ho fatto questo per adesso:

    codice:
    <embed id="player" src="sound/silent.wav" autostart="false" hidden="true">
    poi via js:

    codice:
          var player = document.getElementById("player");
    		player.setAttribute("src", "audio/prova.wav");
    		player.setAttribute("autostart","true");
    vedendo il codice generato dinamicamente, il set funziona, però non viene riprodotto niente...
    mi servirebbe semplicemente un modo per fare start-stop, una volta passato l'src del suono che voglio riprodurre...

    potete aiutarmi?

    grazie!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    usa sistemi gia' provati per gestire i suoni, tipo
    http://www.schillmania.com/projects/soundmanager2/

  3. #3
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    sembra interessante quel link, però purtroppo non posso utilizzare componenti esterne per specifiche di progetto...

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
     var player = document.getElementById("player");
    		player.src="audio/prova.wav"
    		player.Play();
    per fermare il comando e Stop()
    (non sono sicuro che si scriva P/S maiuscola prova anche con la p/s minuscola)
    Io consiglio sempre d'usare flash per riprodurre suoni essendo crss-browser e non usa nessun lettore del sistema operativo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    uhm, ho provato sia play che Play, ma mi dice che non è una funzione... :master:

    edit: neanche flash posso usare!

  6. #6
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    dietro front: forse posso usare anche un componentino flash, ma mi serve di pilotarlo via javascript: mi sapete indicare niente?

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    secondo te cosa fa lo script che inizialmente ti ho indicato?

  8. #8
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    ah! non avevo capito come si sfruttava via js... bellino! purtroppo qui stanno cambiando idea 20 volte al giorno e ancora non so se posso sfruttarlo oppure no... intanto sto provando metodi alternativi.. il problema principale è che mi serve un metodo per riprodurre i suoni che sia reattivo, perchè i tempi della mia applicazione sono molto brevi, un ritardo di un secondo per riprodurre un suono è un abisso. Stavo provando con <embed>, però mi fa delle cose strane, ad esempio questo codice funziona se evito di cambiare l'src di embed, se lo cambio non da errori ma non riproduce nulla


    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
    
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Music Test</title> 
      </head>
      <body>
    	
    
    
        <button type="button" onclick="prova('theme1');">SOUND1</button>
    
        <button type="button" onclick="prova('theme2');">SOUND2</button>
    		<button type="button" onclick="sound_player.Rewind();">REWIND</button>
        <button type="button" onclick="sound_player.Stop();">STOP</button>
    
    		<embed id="player" src="sound/silent.wav" autostart="false" width="0px" height="0px">
    		</p>
        <script type="text/javascript">
    		
           var sound_player = document.getElementById('player');
    	   
    	   function prova(s){
    	   // se commento questa riga, riproduce correttamente. Se cambio l'src no
    	   sound_player.setAttribute("src", 'sound/'+s+'.wav');
    	   
    	   sound_player.Play();
    	   }
        </script>
     </body>
    
    </html>

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.