html5添加音波波形图,wavesurfer.js绘制音频波形图的实现

本文介绍了如何使用wavesurfer.js库在html5中绘制音频波形图,包括初始化设置、加载音频、添加插件、控制播放、倍速选择和音量调节等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.查看效果图

8569006e19bb9a0a533cfb3231879b58.png

向前选中:

cc552e835443ec43379754625d19e2ff.png

向后选中:

0a348624e223fd9c766e54216fd25609.png

代码如下(示例):

向前选中

向后选中

标注

id="progress"

class="progress progress-striped"

value="0"

max="100"

>

  • @mouseup="volumeBarHandle"

    v-model="volValue"

    type="range"

    min="0"

    max="1"

    value="0.8"

    step="0.01"

    />

  • { { speed[index] + " X" }}

import WaveSurfer from "wavesurfer.js";

import Timeline from "wavesurfer.js/dist/plugin/wavesurfer.timeline.js";

import Regions from "wavesurfer.js/dist/plugin/wavesurfer.regions.js";

export default {

data: function () {

return {

index: 0,

speed: [1.0, 1.5, 2.0, 0.5],

isPlay: false,

ppt: false,

ds: 1.0,

zoomValue: 100,

zoomMin: 100,

fast: 3,

back: 3,

noteData: [],

toggleMutebutton: true,

volValue: 0,

audioUrl: "",

loading: true,

};

},

// computed: {

// // 计算属性的 getter

// getUrl: function() {

// // `this` 指向 vm 实例

// return this.$store.state.voicetrain.url

// }

// },

// watch: {

// getUrl(newUrl) {

// this.loading = true

// this.audioUrl = newUrl

// document.getElementById('waveform').innerHTML = ''

// this.init()

// }

// },

mounted() {

this.audioUrl =

"http://192.168.1.101:8080/api/files/20201104/62afa213458d44b0a99440b33fb694b9";

this.init();

},

methods: {

// 初始化

init() {

document.getElementById("progress").style.display = "block";

this.$nextTick(() => {

this.wavesurfer = WaveSurfer.create({

container: "#waveform",

cursorColor: "#DB7093", // 声波播放进度线color

audioRate: 1,

scrollParent: true,

backend: "WebAudio",

barHeight: 1.5,

waveColor: "#43d996", // 声波color

progressColor: "#43d996", // 已播放声波color

loaderColor: "#8B0000",

hideScrollbar: false,

autoCenter: true,

height: 120,

splitChannels: true,

responsive: true,

minPxPerSec: 1,

plugins: [

Timeline.create({

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值