我想制作一个需要处理许多短用户输入的网络应用程序,但不是输入所有文本,用户应该可以使用麦克风。
我知道iPhone和Android智能手机的键盘上都有“麦克风按钮”,但两个平台都需要首先聚焦输入才能开始录制。如果我只有 一个按钮会好得多,因为否则你不会真的觉得你打算用你的声音来执行输入。
我尝试在Android手机上使用x-webkit-speech
属性,但Dolphin HD和Google Chrome确实显示了真实的语音输入字段。
有没有办法直接打开语音输入对话框而不首先让键盘可见,或者我只是期望那么多?
答案 0 :(得分: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)">
希望这有帮助!