当前位置: 首页 > wzjs >正文

网站检索功能怎么做电商网站平台搭建

网站检索功能怎么做,电商网站平台搭建,it培训机构一般培训多久,浦东做网站效果图展示 插件安装 npm i wavesurfer实现过程 <!-- author: weileiming date: 2025-04-26 14:04:08 description: 悬浮音波层 props:isRecord: 录制状态waveOptions: 音波基础配置overlayStyle: 基础蒙层配置 methods:togglePlay: 切换录制状态 --> <template>…
效果图展示

在这里插入图片描述

插件安装
npm i wavesurfer
实现过程
<!-- 
@author: weileiming
@date: 2025-04-26 14:04:08
@description: 悬浮音波层
@props:isRecord: 录制状态waveOptions: 音波基础配置overlayStyle: 基础蒙层配置
@methods:togglePlay: 切换录制状态
-->
<template><div><!-- 悬浮音波层 --><div v-if="isRecord" class="floating-wave" :style="overlayStyle"><div id="waveform"></div></div></div></template><script setup>import { ref, nextTick, watch } from "vue";import WaveSurfer from "wavesurfer.js";import RecordPlugin from "wavesurfer.js/dist/plugins/record.esm.js";const props = defineProps({// 录制状态isRecord: {type: Boolean,required: true,},// 音波基础配置waveOptions: {type: Object,default: () => ({waveColor: "#4CAF50",progressColor: "#52C41A",height: 20,barWidth: 2,barGap: 3,barRadius: 2,barMinHeight: 1,normalize: true,interact: false,fillParent: true,pixelRatio: 1,minPxPerSec: 50,cursorWidth: 0,responsive: true,partialRender: true,removeMediaControl: true,hideScrollbar: true,}),},// 基础蒙层配置overlayStyle: {type: Object,default: () => ({background: 'rgba(0, 0, 0, 0.15)',width: '150px',height: '50px',minWidth: '150px',padding: '15px 10px',boxSizing:'border-box',}),},});const wavesurfer = ref(null);const recorder = ref(null);// 先声明 createWaveformconst createWaveform = async () => {await nextTick();try {wavesurfer.value = WaveSurfer.create({container: "#waveform",...props.waveOptions,});// 创建录音插件前先检查权限await navigator.mediaDevices.getUserMedia({ audio: true });recorder.value = wavesurfer.value.registerPlugin(RecordPlugin.create({scrollingWaveform: true,renderRecordedAudio: false,mediaRecorderOptions: {audioBitsPerSecond: 128000,},}));recorder.value.on("record-start", () => {console.log("录音开始");});recorder.value.on("record-end", () => {console.log("录音结束");});} catch (err) {console.error("创建 WaveSurfer 实例失败:", err);throw err;}};// 初始化录制const initRecorder = async () => {if (!wavesurfer.value) {await createWaveform();}};// 监听当前的启动状态 使用initRecorder 保证父组件获取到的状态和组件一致watch(() => props.isRecord,async (newVal) => {try {await initRecorder();if (newVal) {await recorder.value.startRecording();} else {await recorder.value.stopRecording();}} catch (error) {console.error("录音操作失败:", error);}},{ immediate: true });const togglePlay = async () => {try {await initRecorder();} catch (error) {console.error("麦克风访问错误:", error);alert("请允许访问麦克风");}};// 暴露方法defineExpose({togglePlay,});</script><style scoped></style>
使用示例
<script setup>
import { ref } from 'vue';
import SoundWave from './components/SoundWave/SoundWave.vue'
const mkRef = ref(null);
const isRecord = ref(false);
const handleToggle = () => {console.log('handleToggle', mkRef.value);mkRef.value.togglePlay();isRecord.value = !isRecord.value;
};
</script><template><button class="control-btn" @click="handleToggle">START</button><SoundWave ref="mkRef" :isRecord="isRecord"></SoundWave>
</template><style scoped>
.control-btn {background-color: #4CAF50; border: none; color: white; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px; cursor: pointer; border-radius: 4px; transition: background-color 0.3s ease; 
}.control-btn:hover {background-color: #45a049; 
}
</style>
npm下载该功能

上面功能可以直接去我的npm主页下载

npm i vue-sound-wave
说明

只针对麦克风音波效果开发,不做音频文件导出

http://www.dtcms.com/wzjs/297838.html

相关文章:

  • 怎么给别人做网站优化站长工具ping
  • 做剧情网站侵权吗网络推广的主要工作内容
  • 如何做网站内容架构分析职业培训学校加盟合作
  • 动态网站收录武汉百度推广优化
  • 做商城网站用什么框架关键词优化营销
  • 阿里云域名怎样做网站邵阳网站seo
  • 湖南省城乡与建设厅网站黄页引流推广
  • 网站建设管理概述网络推广哪个好
  • 电子商务网站建设侧重点网上营销新观察网
  • 网站建设导向日照seo公司
  • 企业网站推广营销网络营销总结及体会
  • 广东企业移动网站建设哪家好谷歌网页版
  • wordpress 图片响应式搜索seo
  • 做淘宝客网站需要备案吗新闻头条
  • 网站建设服务协议书如何做一个网页
  • 东莞优化网站关键词优化赣州seo推广
  • 品牌外贸网站建设百度指数查询
  • 物流运输做网站的素材查网站关键词工具
  • 福州做网站互联网公司百度推广员工工资怎么样
  • 马鞍山北京网站建设少儿编程
  • 毕业设计做网站怎样的工作量算达标2023年10月爆发新冠
  • 没有网站想做个链接页面怎么做快速提升排名seo
  • wordpress 单页 多页网站seo哪家做的好
  • 遵义网站建设优化公司软文营销文章500字
  • 网站登录如何做百度近日收录查询
  • 做游戏网站需要哪些许可百度快照投诉中心人工电话
  • 网站建设运营公司企业特色友情链接的形式有哪些
  • web服务器网站网站标题seo外包优化
  • 武汉建站多少钱seo的全称是什么
  • 网站公司怎么做推广方案澎湃新闻