mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-30 11:23:43 +00:00
52 lines
987 B
TypeScript
52 lines
987 B
TypeScript
import Vudio from 'vudio/umd/vudio';
|
|
|
|
import { Visualizer } from './visualizer';
|
|
|
|
import type { VisualizerPluginConfig } from '../index';
|
|
|
|
class VudioVisualizer extends Visualizer<Vudio> {
|
|
name = 'vudio';
|
|
|
|
visualizer: Vudio;
|
|
|
|
constructor(
|
|
audioContext: AudioContext,
|
|
audioSource: MediaElementAudioSourceNode,
|
|
visualizerContainer: HTMLElement,
|
|
canvas: HTMLCanvasElement,
|
|
audioNode: GainNode,
|
|
stream: MediaStream,
|
|
options: VisualizerPluginConfig,
|
|
) {
|
|
super(
|
|
audioContext,
|
|
audioSource,
|
|
visualizerContainer,
|
|
canvas,
|
|
audioNode,
|
|
stream,
|
|
options,
|
|
);
|
|
|
|
this.visualizer = new Vudio(stream, canvas, {
|
|
width: canvas.width,
|
|
height: canvas.height,
|
|
// Visualizer config
|
|
...options,
|
|
});
|
|
|
|
this.visualizer.dance();
|
|
}
|
|
|
|
resize(width: number, height: number) {
|
|
this.visualizer.setOption({
|
|
width,
|
|
height,
|
|
});
|
|
}
|
|
|
|
render() {}
|
|
}
|
|
|
|
export default VudioVisualizer;
|