首页 > 其他分享 >js实现网页端录音功能

js实现网页端录音功能

时间:2024-09-20 18:02:30浏览次数:7  
标签:console log aLink 录音 js wav 网页 recorder

1、代码

首先安装依赖包:recorderx

npm install recorderx -S
<template>
  <div class="container">
    <div class="mt-30">
      <el-button @click="onStartRecord">开始录音</el-button>
      <el-button @click="onStopRecord">停止录音</el-button>
    </div>
  </div>
</template>

<script>
export default {
  name: "home",
};
</script>
<script setup>
import { reactive, ref, computed, watch, toRaw, onMounted } from "vue";
import moment from "moment";
import Recorder, { ENCODE_TYPE } from "recorderx";

let recorder;

const recordName = ref("");
function onStartRecord() {
  console.log("开始录音");
  recorder = new Recorder(true);
  recorder
    .start()
    .then(() => {
      console.log("start recording");
    })
    .catch((error) => {
      console.log("Recording failed.", error);
    });
}

function onStopRecord() {
  console.log("停止录音");
  recorder.pause();
  let wav = recorder.getRecord({ encodeTo: ENCODE_TYPE.WAV });
  console.log("wav", wav);

  const aLink = document.createElement("a");
  const blob = wav; // new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
  aLink.style.display = "none";
  aLink.href = URL.createObjectURL(blob);
  recordName.value = moment().format("YYYYMMDDHHmmss") + ".mp3";
  aLink.setAttribute("download", recordName.value); // 设置下载文件名称
  document.body.appendChild(aLink);
  aLink.click();
  URL.revokeObjectURL(aLink.href); // 清除引用
  document.body.removeChild(aLink);
}
</script>

2、效果

停止录音后,文件会自动保存到磁盘

 

 

标签:console,log,aLink,录音,js,wav,网页,recorder
From: https://www.cnblogs.com/libo0125ok/p/18422980

相关文章

  • asp.net webapi 控制器中获取appsettings.json 中的数组对象
    appsettings.json文件内容: {"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}},"MyConfigKey":"MyConfigValue"......
  • 基于JSP+SQL英语在线考试系统毕业设计整套的计算机毕设源码+论文
    摘要伴随着Internet技术在各个领域的广泛应用,当今社会已经进入信息时代,信息技术革命使社会的各个领域都发生了翻天覆地的变化,计算机,网络技术也渗透到了学校的日常管理当中去。而且网络化的管理也适合现在人的生活需求。在线考试系统以其较高的实用功能、高效率的管理手段深受各......
  • 快速上手高德JS API——以可视化公交站点线路为例
    前言在利用高德地图进行开发时,我们经常需要使用不同的API来实现特定的功能。为了帮助开发者快速定位所需API并掌握正确的使用方法,本文将以可视化任意公交站点路线为例,分享相关经验。根据需求粗略匹配参考示例在开始写代码我都会思考一下该功能的实现逻辑是什么:1、通过什么方式......
  • jsp大学生四六级在线测试平台u7026
    jsp大学生四六级在线测试平台本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景与意义随着全球化和信息化的发展,英语已成为国际交流的重要工具。对于大学生而言,四六级考试不仅是衡量其......
  • jsp大学生素质拓展学分系统t474y
    jsp大学生素质拓展学分系统t474本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能学生,教师,活动申请,活动展示,学分排行,学分明细开题报告内容一、项目背景与意义在当今高等教育体系中,大学生素质拓......
  • jsp大学生收书系统j7k68
    jsp大学生收书系统j7k68本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能学生,收书站点,书籍分类,书籍信息,上门取书,二手书籍,捐赠中心,图书捐赠技术要求:   开发语言:JSP前端使用:HTML5,CSS,JSP......
  • 抖音怎么录屏保存?网页录屏和直播内容录制屏幕工具软件推荐
    在数字化时代,直播已成为我们获取信息和娱乐的重要方式。无论是抖音上的热门直播,还是其他平台的精彩内容,我们都希望能够随时回顾这些瞬间。然而,直播的即时性意味着一旦错过,就可能再也看不到了。幸运的是,有多种录屏软件可以帮助我们捕捉并保存这些珍贵的时刻。以下是几款适合录制......
  • js数组合并与对象合并的方法汇总
    ......
  • 基于nodejs+vue洗衣店管理系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快,人们对于便捷、高效的服务需求日益增长,洗衣服务作为日常生活中不可或缺的一部分,其管理方式的现代化与智能化显得尤为重要。传统洗衣......
  • 基于nodejs+vue洗衣店管理信息系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着现代生活节奏的加快,人们对于便捷、高效的生活服务需求日益增长,洗衣店作为日常生活中不可或缺的服务行业之一,其运营模式和管理效率直接影响着顾客体验与......