# How to programmatically detect audio tracks on Android

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/android/com/theoplayer/android/api/event/track/mediatrack/audio/list/AudioTrackListEventTypes#ADDTRACK) event on [`player.getAudioTracks()`](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/v11/api-reference/android/com/theoplayer/android/api/player/Player#getAudioTracks\(\)) to detect every [`MediaTrack`](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/v11/api-reference/android/com/theoplayer/android/api/player/track/mediatrack/MediaTrack) that is added to the player.

```kotlin
player.audioTracks.addEventListener(AudioTrackListEventTypes.ADDTRACK) { addTrackEvent ->
    val audioTrack = addTrackEvent.track
}
```

## Related articles

* [How to programmatically enable or disable audio tracks](https://docs-preview.optiview.dolby.com/pr-863/theoplayer/how-to-guides/android/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/android/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/android/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/android/ui/build-chromeless-ui.md)
