wavesurfer.js播放pcm音频

本文介绍了如何利用wavesurfer.js进行音频可视化,特别是针对不能直接加载的PCM音频文件,通过添加wav文件头转换为wav格式,从而实现音频的播放和可视化操作。详细内容包括HTML布局、JavaScript导入、数据初始化、组件挂载及方法实现等步骤。
摘要由CSDN通过智能技术生成

前言

wavesurfer.js 是一个音频可视化插件,这里是一篇使用方式
但wavesurfer.js不可直接load格式为pcm的音频文件。参考js转化pcm到wav格式与播放,wav格式实质在pcm格式前面加上44字节的文件头。这里加上文件头后由wavesurfer.js插件进行播放。

1.HTML

<!-- 时间线容器 -->
<div id="timeline" ref="timeline" />
<!-- 音频容器 -->
<div id="waveform" ref="waveform" />
<!-- 选择文件按钮 -->
<input type="file"  @change="addFile($event)" ref="file">

2. js

script标签里的内容

2.1 import

import WaveSurfer from 'wavesurfer.js'
import Timeline from 'wavesurfer.js/dist/plugin/wavesurfer.timeline'//Timeline插件
import Region from 'wavesurfer.js/dist/plugin/wavesurfer.regions'//regions插件

2.2 data

data () {
   
  return {
   
    url: '@/assets/music/ring.pcm',   //wavesurfer加载的文件路径
    wavesurfer: '',
    speed: 1,   //播放速度
  }
}

2.3 mounted

mounted () {
   
  this.wavesurfer = WaveSurfer.create({
   
    container: this.$refs.waveform,//绑定容器,第一种方法
    // container: document.querySelector('#waveform'),//第二种方法
    // container: '#waveform',//第三种方法
    audioRate: this.speed,//控制播放速度
    forceDecode: true,   
    waveColor: '#A8DBA8',
    progressColor: '#3B8686',
    backend: 'MediaElement',
    plugins: [
      Timeline.create({
   
        container: '#timeline',
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值