代码拉取完成,页面将自动刷新
基于Recoder二次封装的工具类
npm install @maybecode/m-recorder
import MRecorder from '@maybecode/m-recorder'
MRecorder.amrTo(source,{type:'wav'}).then(res=>{
console.log(res); // { blob, duration, rec}
audio.src= MRecorder.getAudioSrcByBlob(blob); // 转换成URL
audio.play(); // 开始播放
});
interface ToConfig {
type: "wav" | "mp3" | "amr", // 转换类型
sampleRate?: number, // 采样频率
bitRate?: number // 码率
}
/**
* amr音频转换
* @param source {string | Blob} http链接或者blob二进制流
* @param config {ToConfig} 默认值:{ type: "wav",sampleRate: 16000,bitRate: 16,}
*/
static amrTo(source: string | Blob, config?: ToConfig): Promise<ToReslove>;
/**
* mp3音频转换
* @param source {string | Blob} http链接或者blob二进制流
* @param config {ToConfig} 默认值:{ type: "wav",sampleRate: 16000,bitRate: 16,}
*/
static mp3To(source: string | Blob, config?: ToConfig): Promise<ToReslove>;
/**
* wav音频转换
* @param source {string | Blob} http链接或者blob二进制流
* @param config {ToConfig} 默认值:{ type: "mp3",sampleRate: 16000,bitRate: 16,}
*/
static wavTo(source: string | Blob, config?: ToConfig): Promise<ToReslove>;
/**
* 获取二进制流通过url
* @param url
*/
static getBlobByUrl(url: string): Promise<Blob>;
/**
* 开始录音
* @param config 默认值:{ type: "wav",sampleRate: 32000,bitRate: 96,}
* @param callback callback.success(){} 成功调用回调 callback.denied(msg, isUserNotAllow){} 用户拒绝未授权或不支持
*/
static startRecord(config: RecordConfig, callback?: CallBack): void;
/**
* 结束录音
* @param callback callback.success(){} 成功调用回调 callback.error(msg){} 调用失败回调
*/
static stopRecord(callback?: CallBack): void;
/**
* 获取音频的src通过blob
* @param blob
*/
static getAudioSrcByBlob(blob: Blob): string;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。