@sl-theia/theia-voice
v0.0.1
Published
采集 web 端语音信息,返回 pcm 或 wav 视频流/文件 `支持语音录音,未来预计支持实时推送语音`
Downloads
2
Readme
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")
);