Sw1tch
Messages postés18Date d'inscriptionsamedi 29 mars 2003StatutMembreDernière intervention 1 juillet 2019
-
23 juil. 2003 à 22:03
bastientelecom
Messages postés28Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention 1 mars 2007
-
11 mars 2006 à 19:48
Rebonsoir, je viens à nouveau vous embeter avec mes questions ;-)
J'ai programmé une petite classe sound pour lire facilement des fichiers wav mais[vous vous attendiez quand même pas à ce que ca marche du 1er coup :-p] lors de la création demon object Sound, j'obtient une MalformedURLException no protocol: monSon.wav
J'ai cherché[un peu] dans l'aide du JDK, mais je trouve rien qui correspond.
Si qqun arriver à me dire d'ou vient cette erreur, ca m'aiderait bcps.
/*************************************************
Nom : Sound.java
Auteur : Switch - switch@netplus.ch
Date : 26/07/03
Version : test
Descr. : Objet Sound permettant de jouer un son wav facilement
Bug : Creation d'un objet Sound monSon new Sound("monSon.wav") ;>
java.net.MalformedURLException:
no protocol: monSon.wav
************************************************/
import java.applet.Applet ;
import java.applet.AudioClip ;
import java.net.URL ;
import java.net.MalformedURLException ;
public class Sound
{
private URL file ;
private AudioClip sound ;
public Sound(String name) throws MalformedURLException
{
try
{
file = new URL(name) ;
sound = Applet.newAudioClip(file) ;
}
catch (MalformedURLException e)
{
System.err.println("Unable to select targeted file") ;
}
}
public URL getFile()
{return file ;}
public AudioClip getSound()
{return sound ;}
public void setFile(String name)
{
try
{
file = new URL(name) ;
}
catch (MalformedURLException e)
{
System.err.println("Unable to select targeted sound") ;
}
}
public void setSound(URL file)
{sound = Applet.newAudioClip(file) ;}
public void playSound()
{sound.play() ;}
public void loopSound()
{sound.loop() ;}
public void stopSound()
{sound.stop() ;}
}
Voila, si qqun trouve la solution, j'en fairai un petit zip avec la source pour le site.
Merci
Sw1tch
Messages postés18Date d'inscriptionsamedi 29 mars 2003StatutMembreDernière intervention 1 juillet 2019 23 juil. 2003 à 22:20
Tu entends quoi par lien ? l'URL ?
Comme noté je créé un objet comme suit
Sound monSon = new Sound("path/monSon.wav") ;
Et le constructeur utilise le string envoyé en argument pour en faire une URL, et utilise cette URL pour cree un newAudioClip. Sans le try{}catch{} ca donne ca:
public Sound(String name) throws MalformedURLException
{
file = new URL(name) ;
sound = Applet.newAudioClip(file) ;
}
Sw1tch
Messages postés18Date d'inscriptionsamedi 29 mars 2003StatutMembreDernière intervention 1 juillet 2019 25 juil. 2003 à 10:44
C'est bon, j'ai trouvé.
Le problème vient de la manière de spécifier l'URL. Il est insuffisant de noter par exemple "c:/tada.wav" .
Java ne reconnaitra alors pas le protocole[d'ou mon erreur]. Il faut noter "file://tada.wav" s'il s'agit d'un fichier, ou alors "http://blablalba.thm" par exemple... logique et tout bete ;-)
bastientelecom
Messages postés28Date d'inscriptionvendredi 10 mars 2006StatutMembreDernière intervention 1 mars 2007 11 mars 2006 à 19:48
Malgré ceci ça ne marche toujours pas ! Je met "file://tada.wav" ou "file://c:/tada.wav" mais j'ai toujours l'erreur "...MalformedURLException must be caught or declared to be thrown".
Aidez moi please