Skip to content

EZ Web Audio / createTrack

Function: createTrack()

Call Signature

createTrack(input): Promise<Track>

Defined in: packages/core/src/index.ts:477

Create a Track from an audio file URL, ArrayBuffer, Blob, or File.

Track extends Sound with position tracking, pause/resume, and seeking. Use Track for music or longer audio where users need playback control. Unlike Sound, only one playback can be active at a time.

Parameters

input

AudioInput

URL string, ArrayBuffer, Blob, or File containing audio data

Returns

Promise<Track>

Promise resolving to a Track instance

Throws

If the audio file cannot be loaded or decoded

Example

typescript
import { createTrack } from 'ez-web-audio'

const song = await createTrack('song.mp3')
song.play()

// Pause and resume
song.pause()
song.resume()

// From ArrayBuffer
const buffer = await fetch('song.mp3').then(r => r.arrayBuffer())
const song2 = await createTrack(buffer)

// Get current position
console.log(song.position.string) // '0:30'

Call Signature

createTrack(audioContext, input): Promise<Track>

Defined in: packages/core/src/index.ts:478

Create a Track from an audio file URL, ArrayBuffer, Blob, or File.

Track extends Sound with position tracking, pause/resume, and seeking. Use Track for music or longer audio where users need playback control. Unlike Sound, only one playback can be active at a time.

Parameters

audioContext

BaseAudioContext

input

AudioInput

URL string, ArrayBuffer, Blob, or File containing audio data

Returns

Promise<Track>

Promise resolving to a Track instance

Throws

If the audio file cannot be loaded or decoded

Example

typescript
import { createTrack } from 'ez-web-audio'

const song = await createTrack('song.mp3')
song.play()

// Pause and resume
song.pause()
song.resume()

// From ArrayBuffer
const buffer = await fetch('song.mp3').then(r => r.arrayBuffer())
const song2 = await createTrack(buffer)

// Get current position
console.log(song.position.string) // '0:30'