Audio/Video Tracks
Synchronize external audio or video with the score
Methods
setTrack()
Configure an audio or video track Sets up a new audio or video track to synchronize with the score playback. This allows you to play backing tracks, reference recordings, or video alongside the score.
setTrack(parameters: ScoreTrackConfiguration): Promise<void>Parameters:
parameters-ScoreTrackConfiguration
View ScoreTrackConfiguration type definition
ScoreTrackConfiguration
Configuration for audio/video track synchronization with score
Properties:
id:string- Unique identifier for this track configurationtype:ScoreTrackType- The type of media trackurl(optional):string- URL of the media file (required for 'soundcloud' and 'audio' types)mediaId(optional):string- Video/media identifier (required for 'youtube' and 'vimeo' types)totalTime(optional):number- Total duration in seconds (required for 'external' type)synchronizationPoints:ScoreTrackSynchronizationPoint[]- List of synchronization points between score and media
Returns: Promise<void>
Throws:
Error- If the track configuration is invalid
Example:
const embed = new Embed('container', config);
await embed.setTrack({
id: 'backing-track',
type: 'audio',
url: 'https://example.com/track.mp3',
synchronizationPoints: [
{ type: 'measure', measure: 0, time: 0 }
]
});See also:
useTrack()- Enable a configured trackseekTrackTo()- Seek to a position in the track
useTrack()
Enable a previously configured track Activates a track that was previously configured with setTrack(). Only one track can be active at a time.
useTrack(parameters: { id: string; }): Promise<void>Parameters:
parameters.id-string
Returns: Promise<void>
Throws:
Error- If the track ID is invalid or track cannot be enabled
Examples:
// Enable a configured backing track
await embed.useTrack({ id: 'backing-track-1' });See also:
setTrack()- Configure a new track
seekTrackTo()
Seek to a position in the audio track Moves the playback position of the currently active audio/video track to a specific time. This is useful for synchronizing with score playback or jumping to specific sections.
seekTrackTo(parameters: { time: number; }): Promise<void>Parameters:
parameters.time-number
Returns: Promise<void>
Throws:
Error- If no track is active or seeking fails
Examples:
// Seek to 30 seconds
await embed.seekTrackTo({ time: 30 });See also:
setTrack()- Configure a trackuseTrack()- Enable a track