0.0.1 • Published 2 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
2 years ago