zhw2590582 / WFPlayer

:ocean: WFPlayer.js is an audio waveform generator
https://wfplayer.js.org
MIT License
262 stars 32 forks source link

am getting undefinde error first time when i refresh the page #45

Closed umairmanzoor1143 closed 1 year ago

umairmanzoor1143 commented 1 year ago
import { useEffect, useMemo, useState } from "react";
import WFPlayer from "wfplayer";
import useTranscriptionRef from "./useTranscriptionRef";
interface Props extends Partial<WFPlayer> {
  url: string;
}
const useWFPlayer = (
  containerRef: React.RefObject<HTMLDivElement>,
  options: Props
): WFPlayer | null => {
  const [wavesurfer, setWavesurfer] = useState<WFPlayer | null>(null);
  const { waveSurferRef } = useTranscriptionRef();
  const wfPlayerProps = useMemo(() => {
    return options;
  }, [options]);
  useEffect(() => {
    if (!containerRef.current || !options?.url) return;
    console.log(WFPlayer);
    const wf = new WFPlayer({
      ...wfPlayerProps.config,
      container: containerRef.current,
    });
    if (!!wf) {
      wf.load(wfPlayerProps?.url);
      waveSurferRef.current = wf;
      setWavesurfer(wf);
    }
    wf?.on("grabbing", (currentTime: any) => {
      wf?.seek(currentTime);
    });
    return () => {
      if (wf) wf?.destroy();
    };
  }, [wfPlayerProps?.url, containerRef?.current]);

  return wavesurfer;
};
export default useWFPlayer;

Screenshot (7)

zhw2590582 commented 1 year ago

It seems to be your syntax problem

hyemingwaylikesdev commented 5 months ago

Did you resolve your problem? I've been facing the same problem.