gpt4 book ai didi

angular - 无法使用 typescript 让插件与 wavesurfer.js 一起工作

转载 作者:行者123 更新时间:2023-12-02 03:29:58 35 4
gpt4 key购买 nike

我正在尝试为我的应用程序中的音频和视频内容生成波形,目前使用的是 Angular 6 和 TypeScript。我可以使用 wavesurfer.js 制作波形,但我无法让时间线插件正常工作。在我的 angular.json 中,我有这样的脚本

"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/popper.js/dist/umd/popper.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js",
"node_modules/moment/min/moment.min.js",
"node_modules/wavesurfer.js/dist/wavesurfer.js",
"node_modules/wavesurfer.js/dist/plugin/wavesurfer.timeline.js"
]

在我的 component.ts 文件中我有这样的代码

declare var WaveSurfer;
declare var TimelinePlugin;

export class TranscriptComponent implements OnInit {

ngAfterViewInit() {
this.wavesurfer = WaveSurfer.create({
container: '#waveform',
waveColor: 'violet',
progressColor: 'purple',
cursorColor: '#d9fb36',
normalize: true,
skipLength: 15,
hideScrollbar: true,
backend: 'MediaElement',
plugins: [
TimelinePlugin.create({
// plugin options ...
})
]
});

}

没有插件我可以获得波形,但是如果我尝试添加插件,我会收到错误消息“TimelinePlugin is undefined”。 谁能告诉我如何使用 typescript 使用这些插件。一个例子会很棒。

最佳答案

我通过将我需要的插件路径显式添加到 angular.json 中的“脚本”数组(架构师和测试)来实现这一点(经过反复试验):

"scripts": [
"./node_modules/wavesurfer.js/dist/wavesurfer.js",
"./node_modules/wavesurfer.js/dist/plugin/wavesurfer.regions.js"
],

然后我将插件导入到带有音频播放器的组件中:

import * as WaveSurfer from 'wavesurfer.js';
import * as WaveSurferRegions from 'wavesurfer.js/dist/plugin/wavesurfer.regions.js';

并初始化播放器:

ws: any;

ngOnInit() {
this.ws = WaveSurfer.create({
container: document.querySelector('#player_waveform'),
backend: 'MediaElement',
plugins: [
WaveSurferRegions.create({
regions: [
{
start: 1,
end: 3,
color: 'hsla(400, 100%, 30%, 0.5)'
}, {
start: 5,
end: 7,
color: 'hsla(200, 50%, 70%, 0.4)'
}
]
})
]
});
}

我还对 npm 进行了一些更改,但很难说这是否是让事情正常运行的原因。我确实有两个较新的 wavesurfer.jswavesurfer安装。我删除了 wavesurfer,这可能有帮助?

关于angular - 无法使用 typescript 让插件与 wavesurfer.js 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52129733/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com