WFPlayer

WFPlayer


WFPlayer 可以实现分析音视频生成音频波形图

在线demo地址: demo


WFPlayer支持:

  • 在不加载整个媒体文件的情况下创建波形
  • 自定义光标、进度、网格、标尺显示和颜色
  • 加载媒体url和加载媒体dom元素(视频标签和音频标签)
  • 颜色或宽度等实时更改选项
  • 收听播放动画的媒体元素的播放状态
  • 自适应父元素大小和音频数据

下载

npm install wfplayer

yarn add wfplayer

引入

import WFPlayer from 'wfplayer'

初始化

<div id="waveform" style="width: 1000px; height: 300px"></div>
<video id="video" src="path/to/video.mp4"></video>

<!-- 如果只有音频文件 -->
<audio id="audio" src="path/to/audio.mp3"></audio>
var wf = new WFPlayer({
    container: document.querySelector('#waveform'),
    mediaElement: document.querySelector('#video'),
});

wf.load(document.querySelector('#video'));

// 只有音频文件
wf.load('path/to/audio.mp3');

配置项

new WFPlayer传入的对象中可以设置其他属性改变显示的样式

var wf = new WFPlayer({
    //显示音频波形的dom
    container: '#waveform',
    //是否使用滚动模式
    scrollable: false,
    //媒体元素,如:视频标签或音频标签
    mediaElement: null,
    //是否使用web worker
    useWorker: true,
    //Thw刷新延迟时间
    refreshDelay: 50,
    //是否显示波形
    wave: true,
    //波形颜色
    waveColor: 'rgba(255, 255, 255, 0.1)',
    // 背景颜色
    backgroundColor: 'rgb(28, 32, 34)',
    // 是否显示光标
    cursor: true,
    //光标颜色
    cursorColor: '#ff0000',
    //是否显示进度
    progress: true,
    //进度颜色
    progressColor: 'rgba(255, 255, 255, 0.5)',
    //是否显示网格
    grid: true,
    //网格颜色
    gridColor: 'rgba(255, 255, 255, 0.05)',
    //是否显示标尺
    ruler: true,
    //标尺颜色
    rulerColor: 'rgba(255, 255, 255, 0.5)',
    //是否显示滚动条
    scrollbar: true,
    //滚动条颜色
    scrollbarColor: 'rgba(255, 255, 255, 0.25)',
    //是否在顶部显示标尺
    rulerAtTop: true,
    //像素比率
    pixelRatio: window.devicePixelRatio,
    //要渲染的音频通道
    channel: 0,
    //渲染持续时间
    duration: 10,
    //两侧空间的比例
    padding: 5,
    //波形高度比例
    waveScale: 0.8,
    //波形大小比
    waveSize: 1,
});

api


加载目标

// 目标可以是媒体的url地址,也可以是mediaElement、ArrayBuffer或Audiobuffer
wf.load(target);

切换轨道

wf.changeChannel(1);

跳转到某一时间

wf.seek(second);

平缓地跳转到某一时间

wf.smoothSeek(second);

导出图片

wf.exportImage();

修改配置项

wf.setOptions({
    // 修改波形颜色
    waveColor: 'red',
});

销毁实例

wf.destroy();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Raccom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值