11import * as React from 'react' ;
22import { useBarAnimator } from './animators/useBarAnimator' ;
33import { useMultibandTrackVolume , type AgentState } from '../../hooks' ;
4- import type { TrackReferenceOrPlaceholder } from '@livekit/components-core' ;
4+ import { isTrackReference , type TrackReferenceOrPlaceholder } from '@livekit/components-core' ;
55import { useMaybeTrackRefContext } from '../../context' ;
66import { cloneSingleChild , mergeProps } from '../../utils' ;
7+ import { LocalAudioTrack , RemoteAudioTrack } from 'livekit-client' ;
78
89/**
910 * @beta
@@ -23,7 +24,9 @@ export interface BarVisualizerProps extends React.HTMLProps<HTMLDivElement> {
2324 state ?: AgentState ;
2425 /** Number of bars that show up in the visualizer */
2526 barCount ?: number ;
27+ /** @deprecated use `track` field instead */
2628 trackRef ?: TrackReferenceOrPlaceholder ;
29+ track ?: TrackReferenceOrPlaceholder | LocalAudioTrack | RemoteAudioTrack ;
2730 options ?: BarVisualizerOptions ;
2831 /** The template component to be used in the visualizer. */
2932 children ?: React . ReactNode ;
@@ -106,17 +109,18 @@ const getSequencerInterval = (
106109 */
107110export const BarVisualizer = /* @__PURE__ */ React . forwardRef < HTMLDivElement , BarVisualizerProps > (
108111 function BarVisualizer (
109- { state, options, barCount = 15 , trackRef, children, ...props } : BarVisualizerProps ,
112+ { state, options, barCount = 15 , trackRef, track , children, ...props } : BarVisualizerProps ,
110113 ref ,
111114 ) {
112115 const elementProps = mergeProps ( props , { className : 'lk-audio-bar-visualizer' } ) ;
113- let trackReference = useMaybeTrackRefContext ( ) ;
116+ let targetTrack : TrackReferenceOrPlaceholder | LocalAudioTrack | RemoteAudioTrack | undefined =
117+ useMaybeTrackRefContext ( ) ;
114118
115- if ( trackRef ) {
116- trackReference = trackRef ;
119+ if ( trackRef || track ) {
120+ targetTrack = trackRef || track ;
117121 }
118122
119- const volumeBands = useMultibandTrackVolume ( trackReference , {
123+ const volumeBands = useMultibandTrackVolume ( targetTrack , {
120124 bands : barCount ,
121125 loPass : 100 ,
122126 hiPass : 200 ,
0 commit comments