### Set Track Start Position Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the starting position for a specific track. ```javascript wavesurfer.setTrackStartPosition(trackIndex, startTime); ``` -------------------------------- ### Play Audio Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Starts or resumes audio playback for all tracks. ```javascript wavesurfer.play(); ``` -------------------------------- ### Get Audio Rate Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Retrieves the current playback rate of the audio tracks. Returns 1 if no tracks are present. ```javascript getAudioRate(): number ``` -------------------------------- ### Get Current Time Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Returns the current playback time across all audio tracks. ```javascript getCurrentTime(): number ``` -------------------------------- ### Get Envelope Points Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Retrieves the envelope points for a specific track, identified by its index. Returns undefined if the track or its envelope points are not found. ```javascript getEnvelopePoints(trackIndex): undefined | EnvelopePoint[] ``` -------------------------------- ### Constructor for wavesurfer-multitrack Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Initializes a new instance of the wavesurfer-multitrack class. It takes an array of track configurations and an options object as parameters. ```javascript new default(tracks, options): default ``` -------------------------------- ### Initialize All Wavesurfers Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Initializes all WaveSurfer instances for the tracks. ```javascript initAllWavesurfers(): void ``` -------------------------------- ### Initialize All Audios Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Asynchronously initializes all audio elements for the tracks and returns a promise that resolves with an array of audio durations. ```javascript initAllAudios(): Promise ``` -------------------------------- ### Create Wavesurfer Multitrack Instance (create) Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Creates a new Wavesurfer Multitrack instance with specified tracks and options. ```javascript const wavesurfer = WaveSurfer.create(tracks, options); ``` -------------------------------- ### Initialize WaveSurfer Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Initializes a WaveSurfer instance for a specific track, using its configuration and index. ```javascript initWavesurfer(track, index): WaveSurfer ``` -------------------------------- ### Initialize Audio Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Initializes a single audio element for a given track and returns a promise resolving with the audio player or HTMLAudioElement. ```javascript initAudio(track): Promise ``` -------------------------------- ### Initialize Durations Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the durations for all tracks. ```javascript initDurations(durations): void ``` -------------------------------- ### Add Track Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Adds a new track to the wavesurfer-multitrack instance. This method accepts a TrackOptions object to configure the new track. ```javascript addTrack(track): void ``` -------------------------------- ### Destroy Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Cleans up and destroys the wavesurfer-multitrack instance, releasing resources. ```javascript destroy(): void ``` -------------------------------- ### Is Playing Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Checks if any of the audio tracks are currently playing. ```javascript isPlaying(): boolean ``` -------------------------------- ### Set Audio Rate Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the playback rate for all audio tracks, maintaining synchronization. The rate must be between 0.25 and 5.0. ```javascript wavesurfer.setAudioRate(1.5); ``` -------------------------------- ### Set Track Volume Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the volume for a specific track. ```javascript wavesurfer.setTrackVolume(trackIndex, volume); ``` -------------------------------- ### Subscribe to Events (on) Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Subscribes a listener to a specific event. Returns a function to unsubscribe the listener. Supports an optional 'once' option to trigger the listener only one time. ```javascript wavesurfer.on('event', listener, { once: true }); ``` -------------------------------- ### Emit Event Method Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Emits an event with a specified name and arguments. This is used for inter-component communication. ```javascript emit(eventName, ...args): void ``` -------------------------------- ### TrackOptions Type Alias in TypeScript Source: https://wavesurfer-multitrack.pages.dev/docs/types/TrackOptions Defines the structure for configuring individual audio tracks within a multitrack wavesurfer instance. It includes properties for playback control, visual appearance, and metadata. ```TypeScript type TrackOptions = { draggable?: boolean; endCue?: number; envelope?: boolean | EnvelopePoint[]; fadeInEnd?: number; fadeOutStart?: number; id: TrackId; intro?: { color?: string; endTime: number; label?: string; }; markers?: { color?: string; label?: string; time: number; }[]; options?: SingleTrackOptions; peaks?: WaveSurferOptions["peaks"]; startCue?: number; startPosition: number; url?: string; volume?: number; }; ``` -------------------------------- ### Set Envelope Points Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the envelope points for a specific track. ```javascript wavesurfer.setEnvelopePoints(trackIndex, points); ``` -------------------------------- ### Seek to Position Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Seeks to a specific position in the audio playback. The position is a percentage from 0 to 1. ```javascript wavesurfer.seekTo(0.5); // Seek to 50% ``` -------------------------------- ### Set Time Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the current playback time in seconds. ```javascript wavesurfer.setTime(60); // Set time to 60 seconds ``` -------------------------------- ### Subscribe Once to Event (once) Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Subscribes a listener to a specific event, ensuring it is called only once. Returns a function to unsubscribe the listener. ```javascript wavesurfer.once('event', listener); ``` -------------------------------- ### Set Sink ID Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Sets the audio output device (sink ID). ```javascript wavesurfer.setSinkId('your-sink-id'); ``` -------------------------------- ### Unsubscribe All Events (unAll) Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Clears all event listeners subscribed to the wavesurfer instance. ```javascript wavesurfer.unAll(); ``` -------------------------------- ### Unsubscribe from Event (un) Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Unsubscribes a listener from a specific event. ```javascript wavesurfer.un('event', listener); ``` -------------------------------- ### Pause Playback Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Pauses the audio playback for all tracks. ```javascript wavesurfer.pause(); ``` -------------------------------- ### Zoom Waveform Source: https://wavesurfer-multitrack.pages.dev/docs/classes/default Adjusts the zoom level of the waveform, controlling pixels per second. ```javascript wavesurfer.zoom(100); // Set zoom to 100px/sec ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.