最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用recorder-core.js實現(xiàn)錄音功能

 更新時間:2023年07月28日 10:23:48   作者:開心市民小李???  
這篇文章主要介紹了vue如何使用recorder-core.js實現(xiàn)錄音功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

下載組件

npm install recorder-core

封裝方法

record.ts

//必須引入的核心
import Recorder from 'recorder-core';
//引入mp3格式支持文件;如果需要多個格式支持,把這些格式的編碼引擎js文件放到后面統(tǒng)統(tǒng)引入進來即可
import 'recorder-core/src/engine/mp3';
import 'recorder-core/src/engine/mp3-engine';
//錄制wav格式的用這一句就行
import 'recorder-core/src/engine/wav';
import { RecordType } from './type';
const record: RecordType = {
  RecordApp: null,
  recBlob: null,
  /**麥克風授權 */
  getPermission: (fn: Function | null) => {
    const newRec = Recorder({
      type: 'wav',
      bitRate: 16,
      sampleRate: 16000, //阿里采樣率16000
      onProcess: function (buffers, powerLevel, duration, bufferSampleRate) {
        console.log(buffers);
      },
    });
    //打開錄音,獲得權限
    newRec.open(
      () => {
        record.RecordApp = newRec;
        fn({ status: 'success', data: '開啟成功' });
      },
      (msg, isUserNotAllow) => {
        //用戶拒絕了錄音權限,或者瀏覽器不支持錄音
        fn({ status: 'fail', data: msg });
        console.log((isUserNotAllow ? 'UserNotAllow,' : '') + '無法錄音:' + msg);
      }
    );
  },
  /**開始錄音 */
  startRecorder: () => {
    if (record.RecordApp && Recorder.IsOpen()) {
      record.RecordApp.start();
    }
  },
  /** 停止錄音 */
  stopRecorder: (fn: Function | null) => {
    try {
      if (!record) {
        console.error('未打開錄音');
        return;
      }
      record.RecordApp.stop((blob, duration) => {
        console.log('錄音成功', blob, '時長:' + duration + 'ms');
        if (blob) {
          record.recBlob = blob;
          const formData = new FormData();
          formData.append('audio', blob);
          fn({ loading: true });
        }
        /* eslint-enable */
        record.RecordApp.close();
        record.RecordApp = null;
      });
    } catch (err) {
      fn({ err: err });
      console.error('結束錄音出錯:' + err);
      record.RecordApp.close();
      record.RecordApp = null;
    }
  },
  /**關閉錄音,釋放麥克風資源 */
  destroyRecorder: () => {
    if (record.RecordApp) {
      record.RecordApp.close();
      record.RecordApp = null;
    }
  },
  /**暫停 */
  pauseRecorder: () => {
    if (record.RecordApp) {
      record.RecordApp.pause();
    }
  },
  /**恢復繼續(xù)錄音 */
  resumeRecorder: () => {
    if (record.RecordApp) {
      record.RecordApp.resume();
    }
  },
};
export default record;

調用

 import record from '/@/utils/record/record';
  /**初始化 */
      function init() {
        record.getPermission(function (permiss) {
          if (permiss.status == 'fail') {
            createMessage.warning(permiss.data);
          } else {
            record.startRecorder();
            state.confLoading = true;
          }
        });
      }
   /**結束錄音 */
      function stopRec() {
        state.loading = true;
        state.confLoading = true;
        record.stopRecorder(function (res) {
        /**處理 */
         })
      }

到此這篇關于vue使用recorder-core.js實現(xiàn)錄音功能的文章就介紹到這了,更多相關vue recorder-core.js錄音內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue3不支持Filters過濾器的問題

    Vue3不支持Filters過濾器的問題

    這篇文章主要介紹了Vue3不支持Filters過濾器的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動

    vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動

    這篇文章主要介紹了vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue路由跳轉了但界面不顯示的問題及解決

    vue路由跳轉了但界面不顯示的問題及解決

    這篇文章主要介紹了vue路由跳轉了但界面不顯示的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 小白教程|一小時上手最流行的前端框架vue(推薦)

    小白教程|一小時上手最流行的前端框架vue(推薦)

    這篇文章主要介紹了前端框架vue,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 一個可復用的vue分頁組件

    一個可復用的vue分頁組件

    這篇文章主要為大家詳細介紹了一個可復用的vue分頁組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 關于vue屬性使用和不使用冒號的區(qū)別說明

    關于vue屬性使用和不使用冒號的區(qū)別說明

    這篇文章主要介紹了關于vue屬性使用和不使用冒號的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Vue組件中常見的props默認值陷阱問題

    Vue組件中常見的props默認值陷阱問題

    這篇文章主要介紹了避免Vue組件中常見的props默認值陷阱,本文通過問題展示及解決方案給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • vue封裝全局彈窗警告組件this.$message.success問題

    vue封裝全局彈窗警告組件this.$message.success問題

    這篇文章主要介紹了vue封裝全局彈窗警告組件this.$message.success問題,具有很的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Vue中如何使用Map鍵值對傳參詳析

    Vue中如何使用Map鍵值對傳參詳析

    最近在做一個vue的項目,碰到一點關于Map鍵值對傳參的問題,下面這篇文章主要給大家介紹了關于Vue中如何使用Map鍵值對傳參的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • vue 如何從單頁應用改造成多頁應用

    vue 如何從單頁應用改造成多頁應用

    這篇文章主要介紹了vue 如何從單頁應用改造成多頁應用,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-10-10

最新評論

绥阳县| 霍州市| 施甸县| 独山县| 四平市| 延边| 阿巴嘎旗| 乡宁县| 嘉峪关市| 承德市| 拉萨市| 平武县| 靖江市| 奉贤区| 叙永县| 巴里| 肥西县| 珲春市| 太保市| 林口县| 新乡市| 那曲县| 泸水县| 吴忠市| 含山县| 松溪县| 西峡县| 缙云县| 青阳县| 石景山区| 信丰县| 乌兰察布市| 泸西县| 扎囊县| 白水县| 楚雄市| 肥东县| 鄯善县| 乃东县| 偏关县| 上犹县|