Не нужна никакая индексация, просто при клике определяйте какой элемент был кликнут, находите трек внутри этого элемента.
<audio id="player"></audio>
<ul id="playlist">
<li data-src="https://freesound.org/data/previews/447/447951_4716066-lq.mp3">tarck1</li>
<li data-src="https://freesound.org/data/previews/447/447896_7020227-lq.mp3">tarck2</li>
<li data-src="https://freesound.org/data/previews/447/447949_9080507-lq.mp3">tarck3</li>
</ul>
<script>
player.addEventListener("canplay", myAutoplay);
player.addEventListener("canplaythrough", myAutoplay);
function myAutoplay () {
player.play();
}
playlist.addEventListener('click', function(evt) {
const track = evt.target.closest('li[data-src]');
if (track) {
player.src = track.dataset.src;
}
});
</script>
https://jsfiddle.net/Lp3c27ah/