为学单词小程序增加英文语音功能

您所在的位置:网站首页 拍照跟读英语小程序 为学单词小程序增加英文语音功能

为学单词小程序增加英文语音功能

#为学单词小程序增加英文语音功能| 来源: 网络整理| 查看: 265

英文发音的技术方案很多种,经过调查决定采用网易有道的发音API,真人发音质量比微软TTS标准好听很多。

有道api的url http://dict.youdao.com/dictvoice?type=0&audio=

这里type(0:美音,1:英音)

在小程序中不能直接访问有道url,所以只能在自己服务器上Nginx架设反向代理指向这个地址。

增加一个读单词方法:

代码语言:javascript复制readWord:function (word) { var voiceType = 1 if(this.data.isUsa){ voiceType = 0 } console.log( 'https://www.***.cn/youdao/dictvoice?type=' + voiceType +'&audio=' + word) wx.downloadFile({ url: 'https://www.***.cn/youdao/dictvoice?type=' + voiceType +'&audio=' + word, success: function (res) { console.log(res) let wordAudio = wx.createInnerAudioContext(); wordAudio.autoplay = true; wordAudio.src = res.tempFilePath; } }) },

这样当用户点击“下一个”按钮的时候,就会自动朗读这个单词的发音。

另外,说一下小程序的全局变量配置的问题。在微信小程序开发中,会遇到一个很实际的应用场景,就是一个变量会在多个页面进行使用。这样的的场景中,我们就需要使用全局变量,当然也有开发者说不能每个page页面都定义一个?如果需求改变需要修改这个变量,这个时候只需要修改全局,就能进行整个小程序的修改,如果每个page一个变量,将会在修改中花费大量的时间做低效的工作。

可以在app.js中定义全局变量,

代码语言:javascript复制globalData:{ userInfo:null, authorization:null, userId:null }

在本文件可以使用this直接访问,其它页面如果需要访问全局变量需要引入:

代码语言:javascript复制var app = getApp()

使用的时候,像下面这样访问:

代码语言:javascript复制header: { 'content-type': 'application/json' ,// 默认值 'authorization': app.globalData.authorization },

当然还有另外一个方法,用引入js的方法定义全局变量,在公用js文件夹中创建一个保存全局变量的js文件,这种方法这里就不介绍了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3