| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | <!DOCTYPE HTML><html>	<head>		<meta charset="utf-8"/>		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>		<meta name="HandheldFriendly" content="true"/>		<meta name="MobileOptimized" content="320"/>		<title>自定义语音识别</title>		<script type="text/javascript">var text='';document.addEventListener('plusready', function(){    initDom();    // 监听语音识别事件	plus.speech.addEventListener('start', function(){        console.log('Event: start');        text=null;        result.value='识别中';		partial.innerText='';	}, false);    plus.speech.addEventListener('volumeChange', function(e){        volume.style.width = 100*e.volume+'px';    }, false);    plus.speech.addEventListener('recognizing', function(e){        console.log('Event: recognizing');        partial.innerText = e.partialResult;    }, false);	plus.speech.addEventListener('recognition', function(e){        console.log('Event: recognition');        text?(text+='\n'):text='';        text+=e.result;        result.value=text;		partial.innerText = e.result;	}, false);	plus.speech.addEventListener('end', function(){        console.log('Event: end');        if(!text||text==''){            plus.nativeUI.toast('没有识别到内容');        }        result.value=text;	}, false);}, false);var result=null,recogniz=null,partial=null,volume=null;function initDom(){  result = document.getElementById('result');	recogniz = document.getElementById('recogniz');	partial = document.getElementById('partial');   volume = document.getElementById('volume');	done = document.getElementById('done');	done.addEventListener('touchstart', doStart, false);	done.addEventListener('touchend', doEnd, false);}function doStart(){    plus.speech.startRecognize({        engine: 'baidu',        lang: 'zh-cn',        'userInterface': false,        'continue': true    });	recogniz.style.visibility = 'visible';}function doEnd(){    plus.speech.stopRecognize();    recogniz.style.visibility = 'hidden';}function startRecognizeSilent(){    var options={        userInterface: false    };    plus.speech.startRecognize(options, function(s){       console.log('success: '+s);     }, function(e){        console.log('error: '+JSON.stringify(e));    });}		</script>		<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>		<style type="text/css">.text {    width: 80%;    height: 50px;    border: #00CCCC 1px solid;    color: #CCCCCC;}.recogniz {    width: 200px;    height: 100px;    padding: 12px;    margin: auto;    background-color: rgba(0,0,0,0.5);    border-radius: 16px;    visibility: hidden;}.partial {    width: 100%;    height: 40px;    margin-top: 16px;    font-size: 12px;    color: #FFFFFF;}.volume {	width: 10px;	height: 6px;	border-style:solid;	display:inline-block;	box-sizing:border-box;	border-width:1px;	border-color:#CCCCCC;	border-radius: 50%;    background-color: #00CC00;}		</style>	</head>	<body>        <br/>        <p class="des">            设置userInterface属性值为false则不使用默认语音识别界面,此时可通过H5自定义语音识别界面。        </p>        <div style="color:#FF0000;font-weight:bold;text-align:center;">注意:仅百度语音识别支持自定义界面</div>        <br/>        <div style="width:100%;text-align:center;">            <textarea id="result" class="text" placeholder="语音识别内容"></textarea>        </div>        <br/>        <div style="width:100%;height:100px;text-align:center;">            <div id="recogniz" class="recogniz">                <div style="color: #0000CC;">...倾听中...</div>                <div id="partial" class="partial">...</div>                <div id="volume" class="volume"></div>        	</div>        </div>        <br/>        <div style="position:absolute;bottom:50px;width:100%;">            <div id="done" class="button" readonly>按下开始&松开结束</div>        </div>	</body></html>
 |