Прямой голосовой/речевой ввод в мобильном браузере

Я хотел бы создать веб-приложение, которое должно будет обрабатывать множество коротких пользовательских входов, но вместо того, чтобы вводить все тексты, пользователь должен иметь возможность использовать микрофон.

Я знаю, что у iPhone и Android-смартфонов есть «кнопка микрофона» на клавиатуре, но обе платформы требуют сначала сфокусировать ввод, чтобы начать запись. Было бы намного лучше, если бы у меня была только кнопка, потому что в противном случае вы действительно не чувствуете, что должны выполнять ввод с помощью голоса.

Я попытался использовать атрибут x-webkit-speech на своем телефоне Android, но ни Dolphin HD, ни Google Chrome не отображали настоящее поле ввода речи.

Есть ли способ открыть диалог речевого ввода напрямую, не делая сначала видимой клавиатуру, или я просто ожидаю многого?


person YMMD    schedule 11.07.2012    source источник


Ответы (1)


(Предполагая, что речевой ввод действительно включен в браузере), вы можете только показать «кнопку микрофона» и перенаправить ввод туда, куда хотите, как в этом примере текстовое поле:

<script type="text/javascript">
function transcribe(words){
    document.getElementById("mic").value="";
    document.getElementById("speech").value=words;
    document.getElementById("speech").focus();
}
</script>
Speech input for textarea - click the microphone icon and talk: <br> 
<br>
<textarea id="speech" cols="50"></textarea>
<input id="mic" style="width:15px; height:20px; border:0px; background-color:transparent" x-webkit-speech onwebkitspeechchange="transcribe(this.value)">

Надеюсь, это поможет!

person GitaarLAB    schedule 24.07.2012