@minto-ai/huoshan-mp-tts
Version:
借助“火山引擎在线语音合成API”实现微信小程序端“文本转语音
159 lines (123 loc) • 2.75 kB
Markdown
# 安装
使用 `npm` 进行安装
```bash
npm install @minto-ai/huoshan-mp-tts
```
# 使用
## 引入库
```javascript
import huoshanTts from '@minto-ai/huoshan-mp-tts'
```
## 初始化
```javascript
huoshanTts.config()
```
## 创建应用实例
详细配置可参考[参数基本说明](hhttps://www.volcengine.com/docs/6561/79823)。
```javascript
const ttsInstance = huoshanTts.create({
// 音色
voice_type: 'zh_female_daimengchuanmei_moon_bigtts'
})
```
## 可用方法
### 激活应用
可以发送文本进行语音播放
```javascript
ttsInstance.start()
```
### 发送文本
```javascript
ttsInstance.send('你好呀。')
```
### 结束应用
通知应用发送文本已经结束,但是不会销毁应用,剩余的文本将会继续播放。
```javascript
ttsInstance.end()
```
### 销毁应用
应用播放结束,应用将会被销毁。剩余的文本将会停止播放。
```javascript
ttsInstance.finish()
```
## 应用钩子
### `audioFirstStart`
```javascript
ttsInstance.on('audioFirstStart', () => {
console.log('音频首次播放')
})
```
### `appError`
```javascript
ttsInstance.on('appError', (error) => {
console.log('应用错误', error)
})
```
### `appFinish`
```javascript
ttsInstance.on('appFinish', () => {
console.log('应用已销毁')
})
```
# 示例代码
```vue
<script>
import huoshanTts from '@minto-ai/huoshan-mp-tts'
huoshanTts.config()
let ttsInstance = null
let timer = null
export default {
onLoad() {
ttsInstance = huoshanTts.create()
ttsInstance
.on('appFinish', () => {
console.log('appFinish')
})
.on('appError', (error) => {
console.log('应用错误', error)
})
.on('audioFirstStart', () => {
console.log('audioFirstStart')
})
},
beforeUnmount() {
if (ttsInstance) {
ttsInstance.finish()
}
},
methods: {
handleStart() {
clearTimeout(timer)
const arrText = [
`你要抱`,
`抱我吗?`,
`我好`,
`喜欢你呀!`,
]
ttsInstance.start()
let index = 0
timer = setInterval(() => {
ttsInstance.send(arrText[index])
index += 1
if (index === arrText.length) {
ttsInstance.end()
clearInterval(timer)
}
}, 100)
},
handleFinish() {
ttsInstance.finish()
clearTimeout(timer)
}
}
}
</script>
<template>
<view class="content">
<button @click="handleStart">
开启
</button>
<button @click="handleFinish" />
</view>
</template>
```