Das Audio-File lässt sich mittels Klick auf den (extra) Abspielen-Knopf mehr als zweimal starten? Das würde ich eigentlich nicht erwarten - möchten Sie vielleicht einmal einen Pretest-Link direkt zur betroffenen Seite posten - und vielleicht bauen Sie vor dem IF noch folgende Zeile ein und sehen in der Browser-Konsole nach, was angezeigt wird:
console.log(counter);
Außerdem werden die Dateien plötzlich abgespielt wenn der Teilnehmer die Fehlermeldung (bei fehlender Antwort nachhaken zum Beispiel) angezeigt bekommt.
Dabei wird die Fragebogen-Seite neu geladen - und damit neu gestartet. Entsprechend beginnt auch der Counter von vorne. Wenn Sie das verhindern möchten, müssten Sie den Counter in eine interne Variable speichern - und auch von dort nehmen:
Legen Sie eine interne Variable an (z.B. IV01_01) und ziehen Sie diese auf die Seite
Statt der JavaScript-Variable counter
verwenden Sie den Inhalt dieser Variable. Das würde etwa so aussehen:
var input = document.getElementById("IV01_01");
if (parseInt(input.value) < 1) {
// Dann abspielen
input.value = input.value + 1;
}
Und um den Wert beim ersten Aufruf auf 0 zu setzen, müsste noch in den PHP-Code zu Beginn der Seite (vor der Einbindung der internen Variable!)
preset('IV01_01', 0);