1 Star 0 Fork 0

Maybe / MRecorder

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.51 KB
AI 代码解读
一键复制 编辑 原始数据 按行查看 历史
Maybe 提交于 2021-05-25 15:40 . 更新

MRecorder 工具类

基于Recoder二次封装的工具类

npm npm

码云

安装

npm install @maybecode/m-recorder

在线demo

Demo

示例代码

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;
TypeScript
1
https://gitee.com/null_639_5368/MRecorder.git
git@gitee.com:null_639_5368/MRecorder.git
null_639_5368
MRecorder
MRecorder
master

搜索帮助