0 votes
ago in SoSci Survey (dt.) by s276963 (140 points)
edited ago by s276963

Hallo,
ich habe eine Umfrage erstellt, in die auch Audioaufnahmen integriert sind. Im Pretest haben einige Teilnehmende angemerkt, dass ihnen unklar war, ob der Ton tatsächlich aufgezeichnet wurde, nachdem sie auf „Start” geklickt hatten. Es hätte ihnen geholfen, die Tonspur abspielen zu können, um zu überprüfen, ob alles gut aufgenommen wurde.
Ist das umsetzbar?

Weiterhin habe ich das Problem, dass ich Videos in der Studie integriere. Diese habe ich auf einem Server der Uni hochgeladen und denk Link dann eingefügt. Leider haken die Video beim abspielen. Haben Sie noch einen Tipp, das ich noch tun könnte?

Danke und liebe Grüße

ago by SoSci Survey (344k points)
Was die Aufzeichnung angeht ... wie haben Sie diese denn umgesetzt?

Und was die eingebundenen Videos angeht: Wie genau äußert sich "hakt beim Abspielen"? Möchten sie eine der Video-URLs vielleicht mal hier posten?
ago by s276963 (140 points)
Zu den Aufzeichnungen: ich habe unter "Daten übertragen" den Audio-Recorder in die Umfrage eingefügt. Hier der Code:
<!-- Warning -->
<div id="%q.id%NoAudio" class="warning">
  <div class="content">
  Ihr Gerät und/oder Browser unterstützen derzeit keine Tonaufnahme.
  </div>
</div>

<!--[if IE]>
Der Internet Explorer unterstützt diese Aufzeichnung leider nicht.
<![endif]-->

<!-- Buttons -->
<div style="margin: 2em 0 0.5em">
  <button id="btnStart" type="button" tabindex="50">START</button>
  <button id="btnStop" type="button" tabindex="50">STOP</button>
</div>
<div style="margin: 0.5em 0" id="audioReload">Bitte laden Sie die Seite neu (<a href="javascript:SoSciTools.reloadPage()">Neu Laden</a>) und gestatten Sie der Seite Zugriff auf Ihr Audio-Gerät.</div>

<!-- Audio recorder from https://github.com/ai/audio-recorder-polyfill -->
<script src="../plugins/audio-recorder-polyfill/AudioRecorder.min.js"></script>

<script type="text/javascript">
<!--
"use strict";

var buttonStart = document.getElementById("btnStart");
var buttonStop = document.getElementById("btnStop");
var mediaRecorder;
var mediaChunks = [];
var mediaStatus = 0;

function startRecording(button) {
  if (mediaRecorder) {
    mediaRecorder.start();
    buttonStart.disabled = true;
    buttonStop.disabled = false;
    mediaStatus = 1;
  }
}

function stopRecording(button) {
  if (mediaRecorder) {
    mediaRecorder.stop();
    // You may want to change this to allow a new try (replacing the old one)
    buttonStart.disabled = false;
    buttonStop.disabled = true;
  }
  mediaStatus = 2;
}

function onStop(audioURL) {
    var recordedBlob = new Blob(mediaChunks, { 'type' : 'audio/mpeg' });
    // Transfer the data
    %q.id%.sendBLOB(recordedBlob);
    mediaStatus = 3;
}

function onStream(stream) {
    mediaRecorder = new AudioRecorder(stream);
    mediaRecorder.addEventListener("stop", onStop);
    mediaRecorder.addEventListener("dataavailable", function(e) {
        mediaChunks.push(e.data);
    });
    // Enable the start button
    buttonStart.disabled = false;
    // Remove warning
    document.getElementById("audioReload").style.display = "none";
}

function checkSubmit() {
    // Aufzeichnung noch aktiv?
    if ((mediaStatus == 1) || (mediaStatus == 2)) {
        stopRecording();
        window.setTimeout(SoSciTools.submitPage, 1000);
        return false;
    }
    return true;
}

function init() {
    buttonStart.disabled = true;
    buttonStop.disabled = true;

    var mediaConstraints = {
        video: false,
        audio: true
    };

    function onError(error) {
        document.getElementById("%q.id%NoAudio").style.display = "";
    }
   
    if (navigator.mediaDevices) {
        navigator.mediaDevices.getUserMedia(mediaConstraints).then(onStream).catch(onError);
        document.getElementById("%q.id%NoAudio").style.display = "none";
    } else {
        onError();
    }
   
    
};

SoSciTools.attachEvent(window, "load", init);
SoSciTools.attachEvent(buttonStart, "click", startRecording);
SoSciTools.attachEvent(buttonStop, "click", stopRecording);
s2.attachCheck(checkSubmit);

// -->
</script>


zu 2. Hier die Video-URLs: es gibt fünf Kategorien, in denen randomisiert (per Zufallsgenerator) Videos abgespielt werden sollen, auf denen die Teilnehmenden per Audioaufnahme reagieren sollen. Hier mal die Video-URLs auf einer Kategorie:
1 = https://hessenbox.uni-marburg.de/dl/fiHU9bn9UHYwZJo8Di7khd/27_1_a.mp4
2 = https://hessenbox.uni-marburg.de/dl/fiB7yiYjGFpHCEQh5WedN7/29_1_a.mp4
3 = https://hessenbox.uni-marburg.de/dl/fiFcA1iRoDEspTKenx4Pto/30_1_c.mp4
4 = https://hessenbox.uni-marburg.de/dl/fiAxxnAqmpbKFcZ5ck7Smc/31_1_e.mp4
5 = https://hessenbox.uni-marburg.de/dl/fi4qc1ycwDFvSwaY1iCGwR/32_2_c.mp4
6 = https://hessenbox.uni-marburg.de/dl/fi9CheiDGG9GPvniBfqPNm/33_1_a.mp4
7 = https://hessenbox.uni-marburg.de/dl/fiHtvYE3M52zX1TQtMXhk2/34_1_a.mp4

Danke vorab!
ago by SoSci Survey (344k points)
Was die Audio-Aufnahme angeht ... ich prüfe mal, ob wir in absehbarer Zeit eine verbesserte Vorlage entwickeln können. Versprechen kann ich das allerdings nicht. Natürlich können Sie sich auch selbst an die JavaScript-Programmierung wagen.

Was die URLs angeht, sehe diese auf den ersten Blick gut aus.

Wie genau äußert sich "hakt beim Abspielen" denn genau?  Erstellen und posten Sie gerne einen Pretest-Link, der direkt zu einer Seite mit Video führt.
ago by s276963 (140 points)
edited ago by s276963
Schade, ich hatte gehofft, dass es da eine Lösung geben könnte. Ich glaube ich habe was gefunden, muss es aber noch testen.

Manche berichteten, dass das Bild gehakt hat, aber der Ton weiter lief oder das Video zwischendrin gestoppt hat und nicht "flüssig" ablief. Hier der Link zum Pretest, der direkt zu einer Seite mit einem Videoclip führt: https://www.soscisurvey.de/Vorstudie0/?act=W0ShMLCv5t8BprP9UBhj6Dab

1 Answer

0 votes
ago by SoSci Survey (344k points)

Manche berichteten, dass das Bild gehakt hat, aber der Ton weiter lief oder das Video zwischendrin gestoppt hat und nicht "flüssig" ablief.

Danke für den Pretest-Link, damit kann ich das Problem replizieren.

Ich vermute, dass das Problem auftritt, wenn die Teilnehmer:innen eine nicht allzu schnelle Internetverbindung haben - womöglich ist aber auch die Übertragungsrate des Uni-Servers begrenzt.

Auf alle Fälle sind die Dateien ziemlich groß. Bei einem Video (20 Sekunden) habe ich den Download (48 MB) einmal direkt laufen lassen. Ich bekam da eine Übertragungsrate von ca. 500 kB/Sekunde, sodass der Download eine Minute dauerte. Wenn der Download länger dauert als das Video zum Abspielen braucht, dann muss es beim Abspielen zwangsläufig pausieren.

Die naheliegende Lösung bestünde darin, die Videos geeignet zu komprimieren. Etwa auf ein Viertel der Größe.

Eine weitere Möglichkeit bestünde darin, dass Sie mit der Uni darüber sprechen, ob die Übertragungsrate des Cloud-Servers erhöht werden kann.

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

...