0.0.9 • Published 6 months ago
bm-audio-player v0.0.9
北冥语音播报插件
本插件提供web端和小程序端的聊天语音播报功能,自动控制语音时序
使用方式
引入
yarn add bm-audio-player
快速开始
在页面中引入bm-audio-player,其实例会自动挂载到全局对象window中
import 'bm-audio-player';
const { BmAudioPlayer } = window;
自定义语音合成接口的调用方式,以promise的方式,需要确保resolve的数据类型为ArrayBuffer
// 语音合成操作
const ttsAction = (params) => {
return new Promise((resolve, reject) => {
fetchApi(params).then(async (res)=>{
if(res && res.code === 0){
const buffer = await res.data.arrayBuffer()
resolve(buffer) // 限定返回ArrayBuffer格式
}else{
reject(new Error(res.msg || '语音合成失败'))
}
});
});
};
调用注册方法初始化插件
// 注册
BmAudioPlayer.register({
action: ttsAction, // 语音合成自定义操作
env: 'web'
});
现在,你可以在任何页面使用它
import 'bm-audio-player';
const { BmAudioPlayer } = window;
BmAudioPlayer.load({
text: '文本内容',
moreAttribute: {} // 额外参数
})
内置方法
register
注册方法,全局至少需要初始化一次后,才可以正常使用
key | 说明 | 是否必须 | 默认值 |
---|---|---|---|
action | 请求行为 | true | undefined |
env | 环境参数,当前支持:'web'、'applet' | false | web |
envInstance | 环境实例,当前为小程序环境时,需要传入 | false | undefined |
load
加载方法,用于进行语音合成并播报
| key | 说明 | 是否必须 | 默认值 |
| --- | ---- | -------- | ------ |
|text|文本内容|true|''|
|streamId|流消息id|当前为流消息时必须|''|
|moreAttribute|自定义语音合成参数|false|{}|