javascript - Wavesurfer 如何在加载真实峰值之前加载一些假峰值
问题描述
假设我们有一个像这样的 wavesurfer-js 播放器:
wavesurfer = WaveSurfer.create({
container: document.querySelector('#lovelyContainer'),
backend: 'MediaElement',
// ... and other configs here ...
});
peaksGenerated = false;
wavesurfer.load(url);
wavesurfer.drawBuffer();
wavesurfer.on('ready', () => {
// audio is ready to play
wavesurfer.playPause();
});
wavesurfer.on('waveform-ready', () => {
// waveform is generated
peaksGenerated = true;
});
此代码将在事件中播放音频ready
,然后在waveform-ready
生成 PCM 数据(峰值数组)时绘制峰值。在这一刻,我们有一个很好的球员。
但这里有一个问题。ready
有时和之间会有差距waveform-ready
。音频正在播放,但尚未生成 PCM 数据,并且视图中未显示任何波形。
我正在尝试做的事情:
我需要显示假峰值ready
,然后使用生成的峰值更新它们waveform-ready
。我怎样才能做到这一点?
解决方案
推荐阅读
- c++ - 数字的和和平方和-coprime
- sql - 找出每天自行车的第一次行程时长和最后一次行程时长
- java - 无法在 Java HTTP POST 请求中发送 JSON
- css - JSP 中的响应式图像
- android - 如何使用 Xamarin 渐变填充系统状态栏
- azure - 如何开始开发 Web 应用以将数据存储到 Azure 中的 CosmosDB
- amazon-web-services - 应该为不同类型的数据使用什么 aws 存储服务?
- sql - 使用条件聚合列
- r - 是否有任何 r 函数可以在 R 中将列标题(例如:2018 年 1 月、2018 年 2 月等)“2018 年 1 月”转换为“1 月 18 日”?
- ruby-on-rails - 如何查询具有属性对数组的记录?