| 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: 10 let
|
|||
0