0.0.1 • Published 4 years ago
@sl-theia/theia-voice v0.0.1
theia-voice
介绍
采集 web 端语音信息,返回 pcm 或 wav 视频流/文件
支持语音录音,未来预计支持实时推送语音
快速开始
安装
$ npm install @sl-theia/theia-voice
配置
入参配置
| 名称 | 子参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
| config | object | 选填配置参数 | ||
| sampleBits | number | 16 | 采样位数 | |
| sampleRate | number | 16000 | 采样率 | |
| type | string | wav | 文件类型 |
可调用方法
| 名称 | 传入参数 | 是否有返回值 | 返回值类型 | 描述 |
|---|---|---|---|---|
| start | N | 开始录音启动语音收集 | ||
| end | N | 结束录音关闭流收集 | ||
| getWAVBlob | Y | 文件流 | 返回wav格式文件流 | |
| getPCMBlob | Y | 文件流 | 返回PCM格式文件流 | |
| downFile | (文件名,文件格式)【wav/pcm】 | Y | 文件 | 返回对应格式文件 |
如何使用
文件流录音方式
获取wav文件流录音
import React from "react";
import TheiaVoice from "@sl-theia/theia-voice";
import ReactDOM from "react-dom";
ReactDom.render(
const [voiceText,setVoiceText] = useState<boolean>(false)
const [voice, setVoice] = useState(null);
useEffect(() => setVoice(TheiaVoice()), []);
const voiceHanled = () => {
!voiceText && a.start();
<!-- 停止录音 并获取wav 文件流 -->
voiceText && console.log(voice.getWAVBlob())
setVoiceText(!voiceText);
};
<div onClick={voiceHanled}>{ !voiceText ? '开始录音' : '结束录音' }</div>,
document.getElementById("root")
);获取二进制wav流
import React from "react";
import TheiaVoice from "@sl-theia/theia-voice";
import ReactDOM from "react-dom";
ReactDom.render(
const [voiceText,setVoiceText] = useState<boolean>(false)
const [voice, setVoice] = useState(null);
useEffect(() => setVoice(TheiaVoice()), []);
const voiceHanled = () => {
!voiceText && a.start();
<!-- 停止录音 并获取wav 流 -->
voiceText && console.log(voice.getWAV())
setVoiceText(!voiceText);
};
<div onClick={voiceHanled}>{ !voiceText ? '开始录音' : '结束录音' }</div>,
document.getElementById("root")
);下载可播放wav录音文件
import React from "react";
import TheiaVoice from "@sl-theia/theia-voice";
import ReactDOM from "react-dom";
ReactDom.render(
const [voiceText,setVoiceText] = useState<boolean>(false)
const [voice, setVoice] = useState(null);
useEffect(() => setVoice(TheiaVoice()), []);
const voiceHanled = () => {
!voiceText && a.start();
<!-- 停止录音 并获取wav 流 -->
voiceText && console.log(voice.download('测试语音文件','wav'))
setVoiceText(!voiceText);
};
<div onClick={voiceHanled}>{ !voiceText ? '开始录音' : '结束录音' }</div>,
document.getElementById("root")
);0.0.1
4 years ago