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 einige Mediendateien in die Umfrage gebunden, allerdings wird den Teilnehmern beim Abspielen die Option gegeben, die Mediendatei runterzuladen. Das darf nicht sein, aber ich habe noch nicht herausgefunden, wie ich den Button entfernen kann.

Wenn ich "controls" entferne, verschwindet allerdings gleich die ganze Datei.

Gibt es eine Möglichkeit, den Player irgendwie zu modifizieren, so dass die Teilnehmer nur bestimmte Möglichkeiten (Play, Lautstärke) haben?

Vielen Dank für Ihre Hilfe!

in SoSci Survey (dt.) by s091478 (120 points)
Hier ist der html code, mit dem ich die Dateien eingebunden habe:

<audio id="audio_with_controls" preload="auto" controls>
  <source src="iowa5_-_Kurz.mp3" type="audio/mpeg" />
  <source src="audio.ogg" type="audio/ogg" />
  Ihr Browser kann diese Audio-Datei leider nicht abspielen
</audio>

1 Answer

0 votes

Grundsätzlich gilt: Was der Teilnehmer anhören kann, kann er auch herunterladen. Entweder direkt im Browser oder mit 2 Klicks über die Browserkonsole. Das können Sie sachlogisch einfach nicht verhindern - außer, die nutzen DRM mit passenden Rechnern auf der Gegenseite. Der technische Aufwand ist aber hoch und Sie würden wohl viele Teilnehmer verlieren.

Welche Optionen Ihr Browser im Medienplayer genau angezeigt, hängt nicht zuletzt vom Browser ab. Chrome zeigt seit einer Weile einen Download-Button. Diesen können Sie mit dem zusätzliche Parameter controlsList="nodownload" verhindern:

<audio preload="auto" controls controlsList="nodownload">
  <source src="audio.mp3" type="audio/mpeg" />
  <source src="audio.ogg" type="audio/ogg" />
  Ihr Browser kann diese Audio-Datei leider nicht abspielen
</audio>

Quellen

Audio/Video Updates in Chrome 58
In Chrome 55, prevent showing Download button for HTML 5 video
Disable download button for Google Chrome?

by SoSci Survey (59.6k points)
Danke! Jetzt hat es funktioniert, der Download button ist weg. Eine Anschlussfrage noch: Ist es auch möglich, das Spulen zu deaktivieren, also so dass die Teilnehmer in der Audiodatei nicht vor und zurück springen können und sich die Datei nur einmal anhören können? Ich habe diesen Code gefunden und im Feld "Fragebogen zusammenstellen" ausprobiert :

var video = document.getElementById('video');
var supposedCurrentTime = 0;
video.addEventListener('timeupdate', function() {
  if (!video.seeking) {
        supposedCurrentTime = video.currentTime;
  }
});
// prevent user from seeking
video.addEventListener('seeking', function() {
  // guard agains infinite recursion:
  // user seeks, seeking is fired, currentTime is modified, seeking is fired, current time is modified, ....
  var delta = video.currentTime - supposedCurrentTime;
  if (Math.abs(delta) > 0.01) {
    console.log("Seeking is disabled");
    video.currentTime = supposedCurrentTime;
  }
});
// delete the following event handler if rewind is not required
video.addEventListener('ended', function() {
  // reset state in order to allow for rewind
    supposedCurrentTime = 0;
});

Ich habe es aber nicht geschafft, ihn auf die Audiodatei anzupassen. Alternativ kann ich auch einfach alle Kontroll-Elemente entfernen, habe dann aber Sorge, dass "Autoplay" auf mobilen Geräten nicht funktioniert.

Vielen Dank schon mal!
Nun, vermutlich müssten Sie in Ihrem <video>-Tag noch das Attribute id="video" ergänzen, damit der von Ihnen gepostete JavaScript-Code das Video findet (s. erste Zeile). Und wenn's dann nicht klappt, müssen Sie in die javaScript-Fehlerkonsole des Browsers schauen, wo es hängt: https://www.soscisurvey.de/help/doku.php/de:create:javascript#fehler_finden
Hallo noch einmal,
leider ist es mir noch immer nicht gelungen, das Abspielen der Audio Datei auf einmal zu begrenzen. So weit bin ich bislang:

<audio id="audio" preload="auto">
  <source src="england62_-_Kurz.mp3" type="audio/mpeg" />
  <source src="audio.ogg" type="audio/ogg" />
  Ihr Browser kann diese Audio-Datei leider nicht abspielen
</audio>

Ich habe also alle control Elemente entfernt. Anschließend habe ich dann diesen Code benutzt:

<audio id="england62_-_kurz.mp3" preload="auto" style="position: absolute; left: -5000px;">
  <source src="england62_-_kurz.mp3" type="audio/mpeg" />
  <source src="audio.ogg" type="audio/ogg" />
</audio>

<script type="text/javascript">
var counter = 0;
function playAudio() {
  if (counter < 1) {
    var audio = document.getElementById("audio01");
    audio.currentTime = 0;  // Zurückspulen
    audio.play();
    counter++;
  }
}
</script>

<div>
  <button type="button" onclick="playAudio()">Abspielen</button>
</div>

Nun erscheint zwar ein "Abspielen" button, wenn ich den jedoch drücke, passiert absolut gar nichts. Können Sie mir sagen, wo mein Fehler liegt?
Das Ziel ist, dass der Teilnehmer einmal selbstständig auf Play drückt und sich die Datei dann genau einmal ohne zu spulen anhören kann.

Vielen Dank schon mal!
Bitte posten Sie die Fehlermeldungen aus der JavaScript-Fehlerkonsole des Browsers. Dann sollte ich Ihre Frage beantworten können. Das Zurückspulen sollte nicht notwendig sein, denn die Audio-Datei ist nach dem Laden auf Start.

Ein kleiner offensichtlicher Fehler: In Ihrem <audio>-Tag steht:  id="audio"  -  aber in Ihrem JavaScript-Code schreiben Sie: document.getElementById("audio01");
Hallo noch mal,

folgende Fehlermeldung gibt es: VM104:1 Uncaught SyntaxError: Unexpected token <

unten steht noch mal die gesamte Angabe aus der Opera Konsole. Genau, die Datei ist zwar auf Start, es geht mir aber darum, dass die Teilnehmer überhaupt nicht zurückspulen können, um zu verhindern, dass sie es sich mehrfach anhören. Bloß einen Abspielen-Button soll es geben, und der ist zwar da, spielt aber eben nichts ab. Da ich noch nie zuvor irgendwas mit Programmieren zu tun gehabt habe, habe ich mir die entsprechenden Codes zwar aus verschiedenen Foren zusammengesucht, kann aber Fehler darin nicht erkennen oder analysieren.

Vielen Dank!


  <source src="england62_-_kurz.mp3" type="audio/mpeg" />

  <source src="audio.ogg" type="audio/ogg" />

</audio>



<script type="text/javascript">

var counter = 0;

function playAudio() {

  if (counter < 1) {

    var audio = document.getElementById("england62_-_kurz");

    audio.currentTime = 0;  // Zurückspulen

    audio.play();

    counter++;

  }

}

</script>



<div>

  <button type="button" onclick="playAudio()">Abspielen</button>

</div>
VM104:1 Uncaught SyntaxError: Unexpected token <
Auf welche Zeile im Code verweist die Fehlermeldung denn bzw. welches ist die Zeile 104? Möchten sie vielleicht einen Pretest-Link direkt zur betroffenen Seite im Fragebogen posten?
Klar, hier ist ein Pretest-Link nur zu der Seite:

https://www.soscisurvey.de/teachers129785/?act=PZkwMhE0Y7xxB3Qh1AUHKQFf

Es ist auch kein Beinbruch, wenn sich die Teilnehmer die Audiodatei mehr als einmal anhören können, aber es wäre toll, wenn es irgendwie machbar wäre.
Der Firefox zeigt folgende Fehlermeldungen:

HTTP-Laden ist mit dem Status 404 fehlgeschlagen. Laden der Medienressource https://www.soscisurvey.de/teachers129785/england62_-_kurz.mp3 fehlgeschlagen.
teachers129785
HTTP-Laden ist mit dem Status 404 fehlgeschlagen. Laden der Medienressource https://www.soscisurvey.de/teachers129785/audio.ogg fehlgeschlagen.

Das heißt ganz profan: Die Dateinamen stimmen nicht. Haben Sie vielleicht die "geschützte Dateiablage" verwendet? Dann muss ein pro:// vor die Dateinamen. Kontrollieren Sie unter "Bilder und Mediendateien" bitte einfach nochmal den korrekten Link und die Groß-/Kleinschreibung.
PS: Das mit dem 01 (s. letzte Antwort) haben Sie korrigiert?
Das ist mir jetzt wirklich peinlich, bei dem ganzen Ausprobieren der Codes habe ich tatsächlich einfach einen Fehler in der Groß/Kleinschreibung übersehen. Das mit dem 01 habe ich korrigiert.
Jetzt läuft alles wie am Schnürchen, vielen vielen Dank dafür!
...