Display transcriptions even when Agent is not publishing audio (#70)

This commit is contained in:
David Zhao 2024-06-13 23:36:23 -07:00 committed by GitHub
parent 67f3787c0b
commit fa9c343282
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 5 deletions

View File

@ -1,7 +1,7 @@
"use client"; "use client";
import { LoadingSVG } from "@/components/button/LoadingSVG"; import { LoadingSVG } from "@/components/button/LoadingSVG";
import { ChatMessageType, ChatTile } from "@/components/chat/ChatTile"; import { ChatMessageType } from "@/components/chat/ChatTile";
import { ColorPicker } from "@/components/colorPicker/ColorPicker"; import { ColorPicker } from "@/components/colorPicker/ColorPicker";
import { AudioInputTile } from "@/components/config/AudioInputTile"; import { AudioInputTile } from "@/components/config/AudioInputTile";
import { ConfigurationPanelItem } from "@/components/config/ConfigurationPanelItem"; import { ConfigurationPanelItem } from "@/components/config/ConfigurationPanelItem";
@ -17,6 +17,7 @@ import { useConfig } from "@/hooks/useConfig";
import { useMultibandTrackVolume } from "@/hooks/useTrackVolume"; import { useMultibandTrackVolume } from "@/hooks/useTrackVolume";
import { TranscriptionTile } from "@/transcriptions/TranscriptionTile"; import { TranscriptionTile } from "@/transcriptions/TranscriptionTile";
import { import {
TrackReferenceOrPlaceholder,
VideoTrack, VideoTrack,
useConnectionState, useConnectionState,
useDataChannel, useDataChannel,
@ -74,11 +75,20 @@ export default function Playground({
} }
}, [config, localParticipant, roomState]); }, [config, localParticipant, roomState]);
const agentAudioTrack = tracks.find( let agentAudioTrack: TrackReferenceOrPlaceholder | undefined;
const aat = tracks.find(
(trackRef) => (trackRef) =>
trackRef.publication.kind === Track.Kind.Audio && trackRef.publication.kind === Track.Kind.Audio &&
trackRef.participant.isAgent trackRef.participant.isAgent
); );
if (aat) {
agentAudioTrack = aat;
} else if (agentParticipant) {
agentAudioTrack = {
participant: agentParticipant,
source: Track.Source.Microphone,
};
}
const agentVideoTrack = tracks.find( const agentVideoTrack = tracks.find(
(trackRef) => (trackRef) =>
@ -87,7 +97,7 @@ export default function Playground({
); );
const subscribedVolumes = useMultibandTrackVolume( const subscribedVolumes = useMultibandTrackVolume(
agentAudioTrack?.publication.track, agentAudioTrack?.publication?.track,
5 5
); );

View File

@ -1,7 +1,5 @@
import { ChatMessageType, ChatTile } from "@/components/chat/ChatTile"; import { ChatMessageType, ChatTile } from "@/components/chat/ChatTile";
import { import {
Chat,
ChatMessage as ComponentsChatMessage,
TrackReferenceOrPlaceholder, TrackReferenceOrPlaceholder,
useChat, useChat,
useLocalParticipant, useLocalParticipant,