0 votes
in SoSci Survey (dt.) by s241752 (190 points)

Ich möchte in meinem Fragebogen gerne bei der Auswertung sehen, wie oft eine Audiodatei angehört wurde. Ist dies möglich?

1 Answer

0 votes
by SoSci Survey (326k points)

Dafür müssten Sie die Audio-Datei mittels HTML-Code einfügen und ein wenig JavaScript ergänzen, damit im Hintergrund die Abspiel-Ereignisse (play events) in eine interne Variable geschrieben werden.

Wahrscheinlich wäre es für eine valide Zählung auch sinnvoll, die anderen Bedienelemente zu entfernen. Denn sonast müssten Sie entscheiden, was gezählt wird, wenn jemand (a) das Abspielen pausiert oder (b) vor dem Ende nochmal zurückspult.

by s241752 (190 points)
Die Audio-Datei konnte ich mit meinem HTML-Code einfügen. Aber was muss ich noch ergänzen, damit ich sehe, wie oft es angehört wurde (JavaScript)?
by SoSci Survey (326k points)
Bauen Sie zunächst ein JavaScript, welche das Abspielen mit der .play()-Methoden starten kann. Dazu sollten Sie auch im Online-Support das ein oder andere Beispiel finden.

Sobald Sie das haben, können Sie die Kontrollelemente im <audio>-Element deaktivieren. Und dann müssen Sie beim Klick auf den neuen Play-Knopf (den Sie natürlich mit Ihrer JavaScript-Funktion verbinden) nur noch den Wert aus einer internen Variable auslesen, um 1 hochzählen, und wieder in die interne Variable schreiben.
by s241752 (190 points)
edited by s241752
Wenn ich die Kontrollelemente in meinem Audio-Element deaktiviere haben die Teilnehmer aber nicht die Möglichkeit die Audiodatei mehrmals anzuhören oder?
Ich möchte, dass die Teilnehmer auf der Fragebogenseite mit der Audiodatei auf PLAY drücken und die Audiodatei so oft anhören können, wie sie wollen.

Folgendermaßen habe ich die Audio-Datei als HTML-Code eingefügt:

<audio controls="controls" id="4_Knust_1">
  <source src="4_Knust_1.mp3" type="audio/mpeg">
</audio>

<script>
  var audio = document.getElementById("4_Knust_1");
  var count = 0;

  audio.addEventListener("play", function() {
    count++;
    console.log("Audio wurde " + count + " Mal abgespielt.");
  });
</script>

Wie kann ich nun die Abspielereignisse in eine interne Variable schreiben?

Ich habe auch von der Möglichkeit gelesen, eine Versteckte Frage zu erstellen. Folgendes habe ich dazu gelesen:
Wenn Sie bereits den oben genannten JavaScript-Code verwenden, der die Anzahl der Wiedergaben aufzeichnet, können Sie diese Informationen einfach in Soscisurvey speichern, indem Sie eine versteckte Frage im Fragebogen erstellen und den Wert der Zählvariable in dieser Frage speichern.

Dazu können Sie den folgenden Code in Ihre vorhandene JavaScript-Funktion integrieren:

document.getElementById("versteckte_frage_id").value = count;

Ersetzen Sie dabei "versteckte_frage_id" durch die ID Ihrer versteckten Frage.

Auf diese Weise wird die Anzahl der Wiedergaben der Audiodatei in der versteckten Frage gespeichert und kann später in der Auswertung des Fragebogens abgerufen werden.

Wäre das auch eine Möglichkeit?
Danke!
by SoSci Survey (326k points)
> Wenn ich die Kontrollelemente in meinem Audio-Element deaktiviere haben die Teilnehmer aber nicht die Möglichkeit die Audiodatei mehrmals anzuhören oder?

Das können Sie handhaben wie Sie möchten. Sie können über eigene Knöpfe (oder auch anderweitig) dem Audio-Element die Befehle zum Abspielen, Pausieren und Zurückspulen geben.

> Wie kann ich nun die Abspielereignisse in eine interne Variable schreiben?

Wenn Sie mit dem Ergebnis bereits zufrieden sind (und z.B. mit dem eventuellen Pausieren des Abspielens keine Messprobleme haben), dann würden Sie eine interne Variable auf die Seite ziehen und die Zahl dort hinein schreiben: https://www.soscisurvey.de/help/doku.php/de:create:questions:internal#interne_variablen_und_javascript

  audio.addEventListener("play", function() {
    var input = document.getElementById("IV01_01");
    var countIV = parseInt(input.value);
    if (is.NaN(countIV)) {
      countIV = 0;
    }
    input.value = countIV + 1;
    console.log("Audio wurde " + input.value + " Mal abgespielt.");
  });
by s241752 (190 points)
edited by s241752
Ich habe unter Frage hinzufügen eine interne Variable mit der Kennung „Q056_01“ hinzugefügt.
Diese habe ich dann auf der entsprechenden Fragebogenseite eingefügt. Anschließend habe ich folgenden Code als HTML-Code eingefügt:

<script>
      var audio = document.getElementById("1_Wurst_2");
      audio.addEventListener("play", function() {
        var input = document.getElementById("Q055_01");
        var countIV = parseInt(input.value);
        if (isNaN(countIV)) {
          countIV = 0;
        }
        input.value = countIV + 1;
        console.log("Audio wurde " + input.value + " Mal abgespielt.");
      });
    </script>

Wie sehe ich nun aber in der Auswertung wie oft die Audiodatei angehört wurde?
Wenn ich auf „Daten ansehen“ klicke, wird mir angezeigt welche Antwortmöglichkeit ausgewählt wurde, ich sehe die Reaktionszeit, ich sehe aber nicht wie oft die Audiodatei angehört wurde. (Jede Fragebogenseite besteht aus 1 Audiodatei, 6 Antwortmöglichkeiten mit Reaktionszeitmessung und nun der internen Variable).

Vielen Dank schon mal!
by SoSci Survey (326k points)
Bitte schauen Sie (1) af die Variable Q055_01 und (2) auf die Fehlerkonsole der Fragebogen-Seite, vgl. https://www.soscisurvey.de/help/doku.php/de:general:browser-tools

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...