Discussions

Ask a Question
Back to all

Avatar Doesnt respond back

My avatar doesnt respond back to me, I start listening it listens it shows caption like transcription but I get 0 response.

This is my main function

  const startSession = async () => {
    console.log("Start Session")
    sessionStarted.current = true;
    setIsLoadingSession(true);
    setCurrentLoadingStep(0);

    try {
      const voiceId = language == "ar" ? "xxxxxxxxxxx" : undefined;
      const token = await fetchAccessToken({
        avatarId: card.id,
        knowledgeId,
        language,
        voiceId,
      });
      console.log("token", token);
      avatar.current = new LiveAvatarSession(token, { voiceChat: true });
      console.log("avatar.current", avatar.current);

      avatar.current.on(SessionEvent.SESSION_STREAM_READY, () => {
        setIsStreamReady(true);
        EndSessionAfterAmountOfTime(heygenTimeoutPlaceHolder);
      });

      avatar.current.on(SessionEvent.SESSION_DISCONNECTED, async () => {
        await endSession();
      });

      avatar.current.on(AgentEventsEnum.AVATAR_SPEAK_STARTED, async () => {
        handleMicPermission(false);
        setIsAvatarTalking(true);
        EndSessionAfterAmountOfTime(heygenTimeoutPlaceHolder);
      });

      avatar.current.on(AgentEventsEnum.AVATAR_SPEAK_ENDED, async () => {
        setIsAvatarTalking(false);
        setAvatarIsGivingIntro(false);
        setCaptionText("");
        EndSessionAfterAmountOfTime(heygenTimeoutPlaceHolder);
      });

      avatar.current.on(AgentEventsEnum.USER_SPEAK_STARTED, () => {
        console.log("User Started Talking");
        setIsUserTalking(true);
        setCaptionText("");
      });

      avatar.current.on(AgentEventsEnum.USER_SPEAK_ENDED, () => {
        setIsUserTalking(false);
      });

      avatar.current.on(AgentEventsEnum.USER_TRANSCRIPTION, (event: any) => {
        const text = event?.data?.text ?? event?.text ?? event?.message ?? "";
        if (text) { setCaptionText(text); }
      });

      avatar.current.on(AgentEventsEnum.AVATAR_TRANSCRIPTION, (event: any) => {
        const text = event?.data?.text ?? event?.text ?? event?.message ?? "";
        if (text) setCaptionText(text);
      });
      await avatar.current.start();
      await handleMicPermission(false);
      setDebug("");
      setStreamIsVideo(false)
      avatar.current.startListening()
    } catch (error) {
      console.error("StartSession Error:", error);
    } finally {
      setIsLoadingSession(false);
    }
  };