uniapp实现语音播报

1. 简述

随着AI技术的不断发展,语音功能在我们日常生活中的应用越来越广泛。作为一名开发者,我们可能需要在我们的APP中加入语音播报的功能,便于用户的使用。幸运的是,uniapp提供了方便易用的语音播报插件uni-voice,能够帮助开发者快速添加语音功能到他们的应用中。

2. uni-voice插件介绍

uni-voice插件是uniapp社区开发的一个语音播报插件,使开发者能够在uniapp应用中轻松使用语音功能。uni-voice是对微信、支付宝、百度等语音API的封装,因此我们可以同时支持多个平台,而不需要开发者自行适配。

插件的使用非常简便,在插件市场中搜索uni-voice,安装后,在需要使用的vue页面的script标签中引入即可。以下为引入uni-voice插件的代码示例:

import uniVoice from '@/uni_modules/uni-voice/js_sdk/uni-voice.js' 

3. uni-voice的使用

uni-voice的使用非常方便,只需要给语音播报的文本传入特定的参数就可以了。以下为uni-voice播报函数的基本参数:

text: 需要语音播报的文本,必填参数。

provider: 使用的语音服务商,非必填,默认为auto

success: 播报成功的回调函数

fail: 播报失败的回调函数

其中provider参数支持多种语音服务商。以下为uni-voice插件支持的语音服务商列表:

auto: 自动判断语音服务商,优先级顺序为百度->讯飞->腾讯

baidu:百度语音服务

xunfei:讯飞语音服务

txai:腾讯AI语音服务

ali:阿里云AI语音服务

以下为代码示例,用uni-voice将一个字符串转化为语音:

uniVoice.speak({

text: '我是语音播报',

success: function () {

console.log('播报成功')

},

fail: function (err) {

console.log('播报失败', err)

}

})

4. uni-voice的高级应用

4.1 更改语音参数

uni-voice支持更多的语音参数设置,允许开发者自定义语音播报的声音、速度、语调等参数。以下是可自定义的参数列表:

per:语音人物,默认为普通女声,可选范围百度语音的作者,如:

0:女性

1:男性

3:情感合成-度逍遥

4:情感合成-度丫丫

106:情感合成-度半波

spd:语速,取值范围0-15,默认为5中语速

pit:音调,取值范围0-15,默认为5中语调

vol:音量,取值范围0-15,默认为5中音量

speed:语速,取值范围0-9,默认为5中语速

pitch:音调,取值范围0-9,默认为5中语调

以下为新增了spd和per参数的语音播报代码:

uniVoice.speak({

text: '我是语音播报',

provider: 'baidu', //设置语音服务商为百度

spd: 7, //设置语音速度为7

per: 4, //设置发音人为度丫丫

success: function () {

console.log('播报成功')

},

fail: function (err) {

console.log('播报失败', err)

}

})

4.2 针对多段文本播报

如果需要播放一段较长的文本,可以将文本分段,分别播放每个文本段,这样更加自然。下面是针对多段文本播报的代码:

let textArr = [

'欢迎使用uni-voice语音播报插件',

'uni-voice插件支持多种语音服务商',

'可以自定义语音播报的声音、速度、语调等参数',

'语音播报组件使用非常简便,只需要给语音文本传入特定的参数即可'

]

let speakIndex = 0

const playText = () => {

if(speakIndex >= textArr.length){

console.log('播放完毕')

return

}

uniVoice.speak({

text: textArr[speakIndex],

success: function () {

console.log(`${textArr[speakIndex]} 播报成功`)

speakIndex++

playText()

},

fail: function (err) {

console.log(`${textArr[speakIndex]} 播报失败`, err)

speakIndex++

playText()

}

})

}

playText()

5. 总结

uni-voice插件使开发者能够轻松为自己的应用添加语音播报功能,支持多个平台,且使用非常方便。开发者可以根据需求灵活设置语音播报的参数,从而更好地满足用户的使用需求。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。