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

0 votes

Ich habe insgesamt 8 verschiedene Audiodateien, die auf jeweils 6 Skalen beurteilt werden sollen. Es soll je eine Audiodatei und eine Skala pro Seite geben. Also habe ich 48 Seiten in meinem Fragebogen.
Diese Seiten möchte ich zufällig anordnen.

Dazu habe ich folgenden PHP Code verwendet: (vorerst nur 2 Audiodateien)

if (!isset($blocks)) {
  $blocks = array( 
    array('A101', '0_4SekMinus2STMinus1Silbe.mp3'),
    array('A201', '0_4SekMinus2STMinus1Silbe.mp3'),
    array('A301', '0_4SekMinus2STMinus1Silbe.mp3'),
    array('A401', '0_4SekMinus2STMinus1Silbe.mp3'),
    array('A501', '0_4SekMinus2STMinus1Silbe.mp3'),
    array('A601', '0_4SekMinus2STMinus1Silbe.mp3'),
    array('A101', '0_4SekMinus2STPlus1Silbe.mp3'),
    array('A201', '0_4SekMinus2STPlus1Silbe.mp3'),
    array('A301', '0_4SekMinus2STPlus1Silbe.mp3'),
    array('A401', '0_4SekMinus2STPlus1Silbe.mp3'),
    array('A501', '0_4SekMinus2STPlus1Silbe.mp3'),
    array('A601', '0_4SekMinus2STPlus1Silbe.mp3'),

  );
 

  shuffle($blocks);

  registerVariable('blocks');
}

$i = loopPage(count($blocks));

html('<p><mp3 src="'.$blocks[$i][1].'" alt=""></p>');

question($blocks[$i][0]);

Folgende HTML habe ich hinzugefügt:

<audio id="audio_with_controls" preload="auto" controls autoplay>
<source src="%audiofile%" " type="audio/mpeg"/>
</audio>

Mein Problem: Die Fragen werden rotiert in anderer Reihenfolge dargestellt. Nur kann die Audiodatei nicht abgespielt werden. Habe bereits versucht in den Platzhalter des HTML %audiofile% den Dateinamen einzufügen, jedoch wird dann entweder nur diese Datei abgespielt, wenn ich beide einfüge, werden beide Dateien gleichzeitig abgespielt.

Folgende Fehlermeldung erscheint:
Für den Platzhalter %audiofile% wurde weder ein Eingabefeld mit prepare_input() vorbereitet, noch ein Inhalt mit replace() festgelegt.

Was kann ich noch ergänzen, um mein Ziel zu erreichen?

Vielen Dank im Voraus!

Freundliche Grüße
Jana Thumm

in SoSci Survey (dt.) by s082770 (110 points)
edited by s082770

1 Answer

0 votes

Der HTML-Code für die Audio-Datei passt noch nicht ganz - speziell jener im PHP-Code, wo der Dateiname eingetragen wird.

Möglichkeit 1

Ändern Sie den PHP-Code wie folgt:

html('
  <audio id="audio_with_controls" preload="auto" controls autoplay>
  <source src="'.$blocks[$i][1].'" " type="audio/mpeg"/>
  </audio>
');

... und lassen Sie das zusätzliche HTML weg.

Möglichkeit 2

Setzen Sie im PHP-Code den Platzhalter, den Sie weiter unten verwenden. Statt dem html()würden Sie dafür schreiben.

replace('%audiofile%', $blocks[$i][1]);

Am Rande: Wenn Sie den Code in eine Frage markieren und dann den Knopf {} drücken, wird er leserlich als Code formatiert. Ich habe das für Ihre Frage bereits geändert.

by SoSci Survey (85.1k points)
Mit dieser Ergänzung klappt alles, vielen Dank!
Nun habe ich noch ein Problem. Wenn ich den Fragebogen teste, sind nach einiger zeit bereits Punkte in dem Polaritätsprofil gesetzt, obwohl ich nichts angeklickt habe. Gibt es da noch etwas zu beachten?
Sie müssen die Frage(n) - also am besten die Rubrik mit den 6 Fragen - für jede Audio-Datei kopieren. Dieselbe Frage können Sie im Fragebogen nicht mehrfach verwenden, sonst wird nur die letzte Antwort angezeigt und (!) überschrieben.

Falls Sie pro Polfrofil nur ein Item anzeigen, können Sie auch einfach 8 Items pro Frage anlegen und im question()-Befehl dafür sorgen, dass nur jeweils das passende Item angezeigt wird. Mehr dazu gerne in einer neuen Frage.
...