# How to programmatically detect audio tracks on Web

This article describes how you can use the AudioTrack API, a sub-API of the MediaTrack API, to detect audio tracks. Implementing this functionality is a common use-case for developers who want to build their own UI to visualize the available audio languages.

## Usage

Listen for the [`addtrack`](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/v11/api-reference/web/interfaces/TrackListEventMap#addtrack) event on [`player.audioTracks`](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/v11/api-reference/web/classes/ChromelessPlayer#audiotracks) to detect every [`MediaTrack`](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/v11/api-reference/web/interfaces/MediaTrack) that is added to the player.

```js
function handleAddTrackEvent(addTrackEvent) {
  const audioTrack = addTrackEvent.track;
}
player.audioTracks.addEventListener('addtrack', handleAddTrackEvent);
```

## Related articles

* [How to programmatically enable or disable audio tracks](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/how-to-guides/web/media-tracks/enable-disable-audio-tracks.md)
* [How to programmatically detect audio track changes](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/how-to-guides/web/media-tracks/detect-audio-track-changes.md)
* [How to programmatically detect video track qualities](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/how-to-guides/web/media-tracks/detect-video-track-qualities.md)
* [How to build a chromeless UI](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/how-to-guides/web/ui/build-chromeless-ui.md)
