UNPKG

@minto-ai/huoshan-tts

Version:

借助“火山引擎在线语音合成API”实现浏览器端“文本转语音

154 lines (111 loc) 2.58 kB
# 安装 使用 `pnpm` 进行安装 ```bash pnpm install @minto-ai/huoshan-tts ``` # 使用 ## 引入库 ```javascript import huoshanTts from '@minto-ai/huoshan-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() ``` #### 调整音量 ```javascript // 静音 ttsInstance.setVolume(0) // 恢复音量 ttsInstance.setVolume(1) ``` ## 应用钩子 ### `audioFirstStart` ```javascript ttsInstance.on('audioFirstStart', () => { console.log('音频首次播放') }) ``` ### `appError` ```javascript ttsInstance.on('appError', (error) => { console.log('应用错误', error) }) ``` ### `appFinish` ```javascript ttsInstance.on('appFinish', () => { console.log('应用已销毁') }) ``` # 示例代码 ```javascript import huoshanTts from '@minto-ai/huoshan-tts' huoshanTts.config() const ttsInstance = huoshanTts.create({ voice_type: 'zh_female_daimengchuanmei_moon_bigtts' }) ttsInstance .on('appFinish', () => { console.log('appFinish') }) .on('audioFirstStart', () => { console.log('audioFirstStart') }) const zzButton = document.createElement('button') zzButton.textContent = '终止' const jxButton = document.createElement('button') jxButton.textContent = '继续' let timer = null zzButton.onclick = () => { ttsInstance.finish() clearTimeout(timer) } jxButton.onclick = () => { clearTimeout(timer) const arrText = [ `你要抱`, `抱我吗?`, `我好`, `喜欢你呀!`, ] let index = 0 timer = setInterval(() => { ttsInstance.send(arrText[index]) index += 1 if (index === arrText.length) { ttsInstance.end() clearInterval(timer) } }, 100) } document.body.appendChild(jxButton) document.body.appendChild(zzButton) ```