1.0.0 • Published 2 years ago

motion-robot v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

快速开始

1、安装

npm i motion-robot

2、引入

import * as Robot from 'motion-robot'

3、使用

// 容器
<div ref="robot"></div>

// 配置信息
Robot.configData({
  audioFileFormat: 'wav',
  serverUserId: '15001191540'
})
// 请求服务数据
Robot.getServerConfigData(() => {
  // 初始化模型
  Robot.initModel(this.$refs.robot, 500, 500, e => {
    console.log(e)
  })
})

暴露出的方法

/**
 * 插件对象数据的配置
 * @param {object} obj 数据对象,字段全为选填,按需配置
 * {
 *   localMotionArr: [
 *     {
 *       actionName: "A", // 由模型提供方提供
 *       audioUrl: "https://zksz/123456.wav", // 对应行为的语音
 *       mouthUrl: "https://zksz/123456.json" // 对应行为的口型
 *     }
 *   ],
 *   randomMotionKeyArr: ["A"], // 由模型提供方提供
 *   faceMorphKey: "Face_51_0,Face_51_1", // 由模型提供方提供,0:小程序,1:web
 *   modelUrl: "https://wwww.xxx.com/kefu.glb", // 模型url地址,可以固定配置,也可以从服务端获取
 *   serverUserId: "15001191540", // 服务端的 userId
 *   terminalNo: "00211", // 终端设备编号
 *   asrName: "baidu" // 语音识别名称
 *   audioFileFormat:"pcm" // 语音文件格式 pcm m4a
 * }
 */
configData(obj)

/**
 * 获取服务端配置信息(根据 serverUserId(必填) 和 terminalNo(可选) 获取)
 * @param {object} callback 服务器结果回调
 */
getServerConfigData(callback)

/**
  * 模型初始化
  * @param {number} width 渲染器的宽度
  * @param {number} height 渲染器的高度
  * @param {function} callback 模型加载结果回调
  */
init(width, height, callback)

/**
  * 根据语音获取对应的答案
  * @param {object} audioRes 音频文件对象 { "bolb": bolb, size: bolb.size }
  * @param {object} options 配置数据 { "isNeedPlay": false }
  * @param {function} resultCallback 服务器结果回调
  * @param {function} playStartCallback 语音播报开始回调
  * @param {function} playCompleteCallback 语音播报结束回调
  */
getAnswerAccordAudio(audioRes, options, resultCallback, playStartCallback, playCompleteCallback)

/**
  * 根据文本获取对应的答案
  * @param {string} text 文本
  * @param {object} options 配置数据 { "isNeedPlay": false }
  * @param {function} resultCallback 服务器结果回调
  * @param {function} playStartCallback 语音播报开始回调
  * @param {function} playCompleteCallback 语音播报结束回调
  */
getAnswerAccordText(text, options, resultCallback, playStartCallback, playCompleteCallback)

/**
 * 根据文本生成对应的语音播报
 * @param {string} text 文本
 * @param {object} options 配置数据 { "isNeedPlay": false }
 * @param {function} resultCallback 服务器结果回调
 * @param {function} playStartCallback 语音播报开始回调
 * @param {function} playCompleteCallback 语音播报结束回调
 */
getBoardcastAudio(text, options, resultCallback, playStartCallback, playCompleteCallback)

/**
  * 开始动作(肢体动作、脸部表情)
  * @param {string} actionName 动作名称
  * @param {number} actionId 动作唯一标识,(使用场景:一个动作用于多种回答) 选填
  */
startAction(actionName)

/**
  * 停止动作
  */
stopAction()

/**
  * 改变语音的音量
  * @param {number} volume 声音的音量 0~1
  */
changeAudioVolume(volume)
1.0.0

2 years ago

1.0.6

2 years ago