Autor | Zpráva | ||
---|---|---|---|
jtfcobra Profil |
#1 · Zasláno: 27. 12. 2016, 11:30:42
Ahoj libi se mi tento kod jen nevim jak prevest do PHP napr
if ( $nadiktovaneslovo=='okno' ) a udeleje akci otevri stranku nebo tak ? Poradite? jak udelat toto <div align="center"> <a href="#" id="start_button" onclick="startDictation(event)">Zapnout mikrofon</a> </div> <div id="results" align="center"> <span id="final_span" class="final"></span> <span id="interim_span" class="interim"></span> </div> <script type="text/javascript"> var final_transcript = ''; var recognizing = false; if ('webkitSpeechRecognition' in window) { var recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.onstart = function() { recognizing = true; }; recognition.onerror = function(event) { console.log(event.error); }; recognition.onend = function() { recognizing = false; }; recognition.onresult = function(event) { var interim_transcript = ''; for (var i = event.resultIndex; i < event.results.length; ++i) { if (event.results[i].isFinal) { final_transcript += event.results[i][0].transcript; } else { interim_transcript += event.results[i][0].transcript; } } final_transcript = capitalize(final_transcript); final_span.innerHTML = linebreak(final_transcript); interim_span.innerHTML = linebreak(interim_transcript); }; } var two_line = /\n\n/g; var one_line = /\n/g; function linebreak(s) { return s.replace(two_line, '<p></p>').replace(one_line, '<br>'); } function capitalize(s) { return s.replace(s.substr(0,1), function(m) { return m.toUpperCase(); }); } function startDictation(event) { if (recognizing) { recognition.stop(); return; } final_transcript = ''; recognition.lang = 'cs-CZ'; recognition.start(); final_span.innerHTML = ''; interim_span.innerHTML = ''; } </script> |
||
CZechBoY Profil |
#2 · Zasláno: 27. 12. 2016, 12:01:03
K čemu to chceš v php? Na serveru ti asi nikdo zvukovku nedá :D
Pokud chceš nějak reagovat na zadaný výraz v php tak si to tam pošli ajaxem. |
||
jtfcobra Profil |
Jde mi jen o vysledek viz nize
<span id="interim_span" class="interim"></span> Ajax vubec netusim jak poradis? |
||
juriad Profil |
#4 · Zasláno: 27. 12. 2016, 12:12:18
jtfcobra:
A jak to má fungovat? To jako každý návštěvník tvé stránky má přijít do datového centra k serveru, na kterém běží PHP a tvůj web, a zašeptat mu do ouška, aby otevřel stránku? webkitSpeechRecognition je vlastnost prohlížeče s webkitovým jádrem, jinde to nepůjde. Co uděláš v onresult je na tobě, klidně můžeš změnit udělat něco jako: window.location = '?redirect=' + encodeURIComponent(final_transcript); |
||
jtfcobra Profil |
Kam tohle konkretne vlozim?
window.location = '?redirect=' + encodeURIComponent(final_transcript); Zkousel jsem tohle a to taky nejde <?php $hodnota = "<script> document.write(document.getElementById('interim_span').innerHTML) </script>"; echo 'Hodnota: '.($hodnota); ?> |
||
Keeehi Profil |
#6 · Zasláno: 27. 12. 2016, 15:26:07
jtfcobra:
Začni tím, že si pořádně nastuduješ, kde se provádí PHP, kde javascript. A pak přestaneš pokládat takto hloupé otázky. Pokud chceš poradit, začal bych z druhého konce. Zapomeň, že existují jakékoli programovací jazyky a prostou řečí popiš, co ta tvá aplikace má dělat. Asi nějak tak, jak by to popsala tvoje babička, kdyby o počítačích nic nevěděla a uměla jen ovládat tu tvoji aplikaci. |
||
jtfcobra Profil |
#7 · Zasláno: 27. 12. 2016, 17:05:06
Zkouším jednu věc
Mám jeden přistroj co se dá ovládát přes PHP světlo. Chtěl bych udělat stránku kde řekneš : zapni světlo a stránka přijme do php text: zapni světlo a provedete přes PHP příkaz na zapnutí světla. Prostě je to kravinka na vánoce :) Kdyby jste poradily bylo by to fajn stranku zatim studuji |
||
Keeehi Profil |
#8 · Zasláno: 27. 12. 2016, 17:21:57
V javascriptu z [#1] nahradíš řádky 42-45 tímto
if(final_transcript.search(/zapni světlo/i) !== -1) { var obrazek = new Image(); obrazek.src = "action.php?event=turnLightOn"; } else if (final_transcript.search(/vypni světlo/i) !== -1) { var obrazek = new Image(); obrazek.src = "action.php?event=turnLightOff"; } No a jednoduchý ovládací php script může vypadat takto: action.php switch ($_GET["event"]) { case "turnLightOn": // php na zapnutí světla break; case "turnLightOff": // php na vypnutí světla break; } |
||
jtfcobra Profil |
#9 · Zasláno: 27. 12. 2016, 19:28:30
Ty joooooooooooooooooo moc děkuji
jen mně napadlo kdybych do db sql uložil: napr: vypnis větlo / action.php?event=turnLightOff vypnis větlo / action.php?event=turnLightOff vypnis větlo / action.php?event=turnLightOff slo by to pak načítat z databáze mysql v tom scriptu? |
||
Keeehi Profil |
#10 · Zasláno: 27. 12. 2016, 21:54:03
jtfcobra:
šlo by samozřejmě všechno on ten javascript může vypadat takto: var obrazek = new Image(); obrazek.src = "action.php?input="+encodeURIComponent(final_transcript); a v php pak v $_GET["input"] budeš mít vždy cokoli co prohlížeč identifikoval a můžeš si s tím dělat co chceš. Třeba to vyhledávat v databázi nebo něco jiného.
Jinak tenhle pseudo AJAX obrázkem není špatné řešení, když chceš jen odesílat data. Pokud bys na stránce chtěl třeba i zobrazit nějakou odpověď z toho PHP scriptu (třeba že hlasový příkaz nebyl rozpoznán, nebo že světlo bylo rozsvíceno), pak budeš muset použít klasický AJAX. |
||
Časová prodleva: 8 let
|
0