Bonjour à tous,
Je vous explique mon problème. Je dois intégrer la voix à une application web, en utilisant SAPI (Speech API by Windows). Première contrainte, utiliser les ActiveX pour pouvoir utiliser SAPI et donc, pas le choix, utiliser IE. On trouve quelques exemples de code en javascript sur le net (pratiquement toujours les mêmes en fait), qui fonctionnent plus ou moins bien. Toujours est il que j'ai réussi à faire parler mon ordinateur à un moment donné.
Le soucis étant, que ce que l'on souhaite faire dire à la machine est récupéré d'une BBD, des variables php donc.
La aussi, on trouve des exemples pour faire du javascript avec du php. Sauf que... ca marche pas !!
Rien a faire, on a tourné le problème dans tous les sens, ca refuse de dire un traitre mot et comble du désespoir, ce qui marchait... ne marche plus. Même en revenant au code de départ... Plus moyen de tirer un mot de ma machine.
[drama] Vous êtes mon dernier espoir ! [/drama]
Voila mon code, si jamais cela peut vous inspirer une solution... Merci d'avance !
Parmis les principaux messages d'erreur reçus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="language" content="fr" /> <meta http-equiv="Content-Type" content="html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="javascript" /> <title>Talking Page</title> <script type="javascript"> // check if activeXobject is usable if (window.ActiveXObject) { var VoiceObj = new window.ActiveXObject("SAPI.SpVoice"); } else { alert('ActiveX non disponible (seulement sous IE).'); } function SpeakText (text_to_speech) { if (VoiceObj) { VoiceObj.Speak(text_to_speech, 1); } else { alert ('VoiceObj non défini.'); } } </script> </head> <body> <?php $text_php = "This is a test which should be efficient on Internet Explorer."; ?> <!-- Methode 0 --> <script type="javascript"> var text = "This is a test which should be efficient on Internet Explorer."; </script> <!-- Méthode 1 --> <?php echo '<script type="javascript"> var text1 = "'.$text_php.'"; </script>'; ?> <!-- Méthode 2 --> <script type="javascript"> var text2 = "<?php echo $text_php; ?>"; </script> <!-- Bouton --> <input onclick="SpeakText(text);" type="button" value="Repeat" /> </body> </html>
- Un compasant ActiveX ne peut pas créer un objet.
- Objet attendu. (pour le bouton)
- VoiceObj à la valeur Null ou n'est pas un objet. (dans la fonction SpeakText dans le header. Il arrive même a me la coller 2 fois à cette ligne.)
Sinon quand "tout va bien", il me dit que mes variables 'text/text1/text2' ne sont pas définies, sachant qu'avant la "méthode 0" fonctionnait et plus maintenant. Il ne me demande même plus d'activer les ActiveX alors que j'y ai droit à chaque fois "normalement".
En espérant ne pas avoir fait trop de fautes et avoir placé ce message dans le bon forum. ^^'
Partager