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

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

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

下載組件

npm install recorder-core

封裝方法

record.ts

//必須引入的核心
import Recorder from 'recorder-core';
//引入mp3格式支持文件;如果需要多個(gè)格式支持,把這些格式的編碼引擎js文件放到后面統(tǒng)統(tǒng)引入進(jìn)來即可
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,
  /**麥克風(fēng)授權(quán) */
  getPermission: (fn: Function | null) => {
    const newRec = Recorder({
      type: 'wav',
      bitRate: 16,
      sampleRate: 16000, //阿里采樣率16000
      onProcess: function (buffers, powerLevel, duration, bufferSampleRate) {
        console.log(buffers);
      },
    });
    //打開錄音,獲得權(quán)限
    newRec.open(
      () => {
        record.RecordApp = newRec;
        fn({ status: 'success', data: '開啟成功' });
      },
      (msg, isUserNotAllow) => {
        //用戶拒絕了錄音權(quán)限,或者瀏覽器不支持錄音
        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, '時(shí)長:' + 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('結(jié)束錄音出錯(cuò):' + err);
      record.RecordApp.close();
      record.RecordApp = null;
    }
  },
  /**關(guān)閉錄音,釋放麥克風(fēng)資源 */
  destroyRecorder: () => {
    if (record.RecordApp) {
      record.RecordApp.close();
      record.RecordApp = null;
    }
  },
  /**暫停 */
  pauseRecorder: () => {
    if (record.RecordApp) {
      record.RecordApp.pause();
    }
  },
  /**恢復(fù)繼續(xù)錄音 */
  resumeRecorder: () => {
    if (record.RecordApp) {
      record.RecordApp.resume();
    }
  },
};
export default record;

調(diào)用

 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;
          }
        });
      }
   /**結(jié)束錄音 */
      function stopRec() {
        state.loading = true;
        state.confLoading = true;
        record.stopRecorder(function (res) {
        /**處理 */
         })
      }

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

相關(guān)文章

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

    Vue3不支持Filters過濾器的問題

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

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

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

    vue路由跳轉(zhuǎn)了但界面不顯示的問題及解決

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

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

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

    一個(gè)可復(fù)用的vue分頁組件

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

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

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

    Vue組件中常見的props默認(rèn)值陷阱問題

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

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

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

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

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

    vue 如何從單頁應(yīng)用改造成多頁應(yīng)用

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

最新評論

建湖县| 张家界市| 巍山| 十堰市| 兴化市| 保康县| 富顺县| 阿荣旗| 佛教| 兰州市| 黄冈市| 策勒县| 康保县| 五河县| 靖远县| 裕民县| 柯坪县| 甘洛县| 高密市| 扎赉特旗| 昭苏县| 成武县| 哈巴河县| 水富县| 灵宝市| 长武县| 河津市| 毕节市| 岑巩县| 滨海县| 江源县| 五华县| 和政县| 池州市| 三明市| 南通市| 申扎县| 烟台市| 宜宾市| 个旧市| 吉林省|