用Wex5集成讯飞语音听写并生成App在手机上运行

利用Wex5平台集成讯飞语音听写功能并生成可以运行的App,需要引用cordova插件。

源码:

<?xml version="1.0" encoding="UTF-8"?>

<div xmlns="http://www.w3.org/1999/xhtml" xid="window" class="window" component="$UI/system/components/justep/window/window" design="device:m;">  
  <div component="$UI/system/components/justep/model/model" xid="model"><div component="$UI/system/components/justep/data/data" autoLoad="true" xid="yyData" idColumn="yy"><column label="语音" name="yy" type="String" xid="xid1"></column>
  <data xid="default1">[{}]</data></div></div> 
<textarea component="$UI/system/components/justep/textarea/textarea" class="form-control" xid="textarea" style="height:100px;"></textarea>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup1"><a component="$UI/system/components/justep/button/button" class="btn btn-link" label="开始语音听写" xid="startListenning" onClick="startListenningClick">
   <i xid="i1"></i>
   <span xid="span1">开始语音听写</span></a></div>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup2">
   <a component="$UI/system/components/justep/button/button" class="btn btn-link" label="取消听写" xid="cancleListenning" onClick="cancleListenningClick">
    <i xid="i2"></i>
    <span xid="span2">取消听写</span></a> </div>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup3" style="border-bottom:1px solid #666666;">
   <a component="$UI/system/components/justep/button/button" class="btn btn-link" label="暂停听写" xid="stopListenning" onClick="stopListenningClick">
    <i xid="i3"></i>
    <span xid="span3">暂停听写</span></a> </div>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup4">
   <a component="$UI/system/components/justep/button/button" class="btn btn-link" label="开始语音合成" xid="startSpeaking" onClick="startSpeakingClick">
    <i xid="i4"></i>
    <span xid="span4">开始语音合成</span></a> </div>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup5">
   <a component="$UI/system/components/justep/button/button" class="btn btn-link" label="暂停语音合成" xid="pauseSpeaking" onClick="pauseSpeakingClick">
    <i xid="i5"></i>
    <span xid="span5">暂停语音合成</span></a> </div>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup6">
   <a component="$UI/system/components/justep/button/button" class="btn btn-link" label="恢复语音合成" xid="resumeSpeaking" onClick="resumeSpeakingClick">
    <i xid="i6"></i>
    <span xid="span6">恢复语音合成</span></a> </div>
  <div component="$UI/system/components/justep/button/buttonGroup" class="btn-group btn-group-justified" tabbed="true" xid="buttonGroup7">
   <a component="$UI/system/components/justep/button/button" class="btn btn-link" label="停止语音听写" xid="stopSpeaking" onClick="stopSpeakingClick">
    <i xid="i7"></i>
    <span xid="span7">停止语音听写</span></a> </div></div>
js源码:

define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        require("cordova!com.justep.cordova.plugin.iFlytek");

        var Model = function() {
                this.callParent();
        };
        // 开始语音听写,需要访问手机麦克风,用户通过麦克风开始录入语音,当用户长时间不录入语音时,会默认判定语音录入结束,即会返回识别的文本。用户可以传入参数控制语音听写的相关设置,现在插件中已经配置好了相关参数,建议传参数为空。
        Model.prototype.startListenningClick = function(event) {
                var me = this;
                justep.Util.hint("请对准麦克风开始说话");
                navigator.speech.startListening({}, function(res) {
                        me.comp('textarea').val(JSON.stringify(res));
                });
        };
        // 取消听写,将不会返回识别结果
        Model.prototype.cancleListenningClick = function(event) {
                navigator.speech.cancelListening();
        };
        // 停止听写,会将识别的结果返回
        Model.prototype.stopListenningClick = function(event) {
                navigator.speech.stopListening();
        };
        // 开始语音合成,其中第一个参数为必传参数,即需要识别的文本,第二个参数为可选参数,可以通过该参数调节发音人的音量,发音人的音调,语速,以及方言。
        Model.prototype.startSpeakingClick = function(event) {
                navigator.speech.startSpeaking(this.comp('textarea').val());
        };
        // 暂停语音合成,下次调用恢复接口会继续合成
        Model.prototype.pauseSpeakingClick = function(event) {
                navigator.speech.pauseSpeaking();
        };
        // 恢复语音合成
        Model.prototype.resumeSpeakingClick = function(event) {
                navigator.speech.resumeSpeaking();
        };
        // 停止语音合成
        Model.prototype.stopSpeakingClick = function(event) {
                navigator.speech.stopSpeaking();
        };

        return Model;
});

打包的时候勾选插件,把参数复制填上,勾选插件的时候,里面有提示参数,复制上去即可。


(插件参数需要到讯飞官网申请!http://www.xfyun.cn/)


以上工作做完后,即可生成App。生成App的方法请参考另一个帖子:http://blog.csdn.net/weixin_36725553/article/details/53185375

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值