1 pièce(s) jointe(s)
Applet qui joue du son à partir d'une JSP
Bonjour,
Je veux insérer une Applet (qui génère du son en boucle) à un projet Web dynamique développé avec Eclipse sur serveur Tomcat.
En suivant cette discussion http://www.developpez.net/forums/d49...se-applet-jsp/ j'ai créé le projet applet à part et jusque là tout va bien.
J'ai généré l'archive jar avec Eclipse.
Comme je ne savais pas où mettre la balise applet dans mon fichier formulaire.jsp je l'ai mise au feeling...
Ca donne ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
// on récupère les paramètres
String nom=request.getParameter("txtNom");
if(nom==null) nom="inconnu";
String age=request.getParameter("txtAge");
if(age==null) age="xxx";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Personne - formulaire</title>
</head>
<body>
<applet code="AudioLoop.class" width="200" height="100" archive="son3.jar">
</applet>
<center>
<h2>Personne - formulaire</h2>
<hr>
<form action="" method="post">
<table>
<tr>
<td>Nom</td>
<td><input name="txtNom" value="<%= nom %>" type="text" size="20"></td>
</tr>
<tr>
<td>Age</td>
<td><input name="txtAge" value="<%= age %>" type="text" size="3"></td>
</tr>
</table>
<table>
<tr>
<td><input type="submit" value="Envoyer"></td>
<td><input type="reset" value="Rétablir"></td>
<td><input type="button" value="Effacer"></td>
</tr>
</table>
</form>
</center>
</body>
</html> |
Au final quand je démarre le serveur tomcat sur eclipse en tapant l'adresse url correspondant à mon formulaire, j'obtiens ça : (cf. image en pièce jointe)
et il n'y a aucun son qui s'active.
Pour le code de l'applet pour info c'est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| // importation des classes nécessaire à la lecture des sons
import java.awt.Graphics;
import java.applet.AudioClip;
@SuppressWarnings("serial")
public class AudioLoop extends java.applet.Applet
implements Runnable { // voir chapitre sur les Threads
// création des 2 objets AudioClip
AudioClip bgSound;
AudioClip beep;
Thread runner;
// voir le chapitre sur les Threads
public void start() {
if (runner == null) {
runner = new Thread(this);
runner.start();
}
}
// l'applet s'arrête arrêt de tous les sons en cours de lecture
public void stop() {
if (runner != null) {
if (bgSound != null)
bgSound.stop();
runner = null;
}
}
// initialisation de l'applet
public void init() {
// on indique quels sont les fichiers à lire
//bgSound = getAudioClip(getCodeBase(),"loop.au");
//beep = getAudioClip(getCodeBase(), "beep.au");
bgSound = getAudioClip(getCodeBase(),"malfound.wav");
beep = getAudioClip(getCodeBase(), "ding.wav");
}
// l'applet débute
public void run() {
if (bgSound != null) // le fichier loop.au n'est pas en cours de lecture...
bgSound.loop(); // ... alors, il est lu en boucle
Thread thisThread = Thread.currentThread();
while (runner == thisThread) {
try {
Thread.sleep(5000); // 5 secondes d'arrêt du programme
} catch (InterruptedException e) { }
if (beep != null) // si le fichier beep.au n'est pas en cours de lecture...
beep.play(); // ... le lire
}
}
// méthode d'affichage du texte accompagnant la lecture des sons
public void paint(Graphics screen) {
screen.drawString("Playing Sounds ...", 10, 10);
}
} |
Merci de votre aide.