Stoppen Sie den JavaScript / HTML5-Musik-Player, um die URL des Medienstandorts anzuzeigen

827
how2play

Gibt es eine Möglichkeit, einen HTML5- / JavaScript-basierten Musikplayer daran zu hindern, die Standort-URL des Songs anzuzeigen, für den er vom Server meiner Website aus abgespielt wird? Ich habe selbst nach einer Lösung gesucht, vergebens.

Es ist das vorletzte Skript, das hier aufgeführt ist: Verwenden von JavaScript zur Steuerung des Audioobjekts (HTML5)

Der Titel lautet: Audio-Playback-Beispiel

Beispiel

0
Könnten Sie einen Screenshot von dem einschließen, was Sie sehen, wenn Sie dieses Skript ausführen? Die wahrscheinliche Antwort lautet nein. Selbst wenn Sie es tun würden, wäre es bei diesem Beispiel immer noch in der Quelle. Seth vor 7 Jahren 0
Hallo Seth, danke für die Antwort, hier kommt was ich aus dem Skript bekomme. Wie Sie sehen, ist die vollständige URL frei! [Resultierender Player, Medien-URL teilweise zensiert] https://i.stack.imgur.com/bQRBn.jpg how2play vor 7 Jahren 0

1 Antwort auf die Frage

1
Seth

Ich bin mir nicht ganz sicher, was dein Ziel ist, aber lass uns trotzdem damit anfangen.

Die von Ihnen verknüpfte Seite enthält Beispiele für die Interaktion mit dem HTML5-Audioelement unter Verwendung von JavaScript. Abhängig von Ihrem Ziel ist das normale HTML5-Audio-Tag möglicherweise bereits ausreichend. Siehe auch Erste Schritte mit dem HTML5-Audioelement, das in dem Artikel verlinkt ist, den Sie verlinkt haben.

Wenn wir den Beispielcode nehmen und einen Screenshot des Ergebnisses machen, ist der standardmäßige (browserabhängige) HTML5-Audio-Tag-Player der obere. Die Seite und das Skript enthalten alle anderen Teile.

Image of the audio player(s)

Das eigentliche Skript bewirkt, dass es die Eingabe aus dem HTML-Eingabeelement (das die Datei enthält) entnimmt und es dem Audio-Tag als Quelle zuweist. Der Artikel, den Sie verlinkt haben, hat dazu eine recht lange Erklärung, haben Sie ihn gelesen?

Um die direkte Anzeige tatsächlich loszuwerden, gibt es mehrere Optionen.

  • Verstecken Sie die Eingabe mit CSS
  • Blenden Sie die Eingabe mit JS aus
  • Verwenden Sie eine andere Art von Element oder Code, um die Quelle der Informationen zu der abzuspielenden Datei zu machen.

Der richtige Ansatz wäre wahrscheinlich, einen Teil des JS zu verwenden, um die Quelle abzurufen, anstatt ein tatsächliches HTML-Element in der Quelle zu haben.

Eine einfache intermittierende Lösung wäre die Änderung des Typattributs von <input type="text" id="audioFile" value="__file__" size="60" />in type="hidden".

Der Nachteil wäre, dass Sie nicht einfach eine andere Datei in das Eingabefeld legen und diese (von Hand) abspielen lassen können.

Sie haben tatsächlich gezeigt, was ich in Ihrem Screenshot möchte. Dort wird nur "SoundHelix-Song-1.mp3" ohne Pfad angezeigt. Es wäre schön zu wissen, wie du das gemacht hast, denn das ist alles, wonach ich suche. how2play vor 7 Jahren 0
Ich möchte, dass der Dateipfad der MP3-Datei ausgeblendet wird. Ich möchte nur, dass der Name der MP3 angezeigt wird, nicht der Pfad. Ich verstehe, dass es möglich ist, nur den MP3-Namen als Pfad anzugeben, wenn sich die Webseite, die das Skript enthält, im selben Ordner befindet wie die MP3s. Ich möchte jedoch das gleiche Skript auf mehreren Webseiten an verschiedenen Orten. Daher möchte ich nur den Dateipfad NICHT anzeigen, das ist alles, was ich will. Ich möchte nur MP3-Titel anzeigen, kein Pfad. Keiner der Artikel, die Sie erwähnt haben, zeigt, wie das geht, und ich hatte schon einen Blick darauf geworfen. Außerdem bin ich nur ein Typ, der von der Straße hereinkommt, keine Fähigkeiten. how2play vor 7 Jahren 0
Ich habe das gemacht, indem ich nur einen relativen Pfad verwendet habe. Sie können dies für jede Ihrer Websites tun (geringer Aufwand). Alternativ sollten Sie sich zunächst mit der Funktionsweise von JavaScript vertraut machen, da Sie es in diesem Fall benötigen. Im Wesentlichen müssen Sie eine einfache Zeichenfolge ersetzen (vorausgesetzt, der Pfad zu den Dateien bleibt derselbe) oder Sie müssen es in Ihrem Backend tun (wieder eine einfache Ersetzung), aber statt einer hat nur zwei Eingaben. Eine versteckt mit dem vollständigen Pfad und einer sichtbar mit nur dem Dateinamen. Seth vor 7 Jahren 0
Richtig, also weißt du, dass ich Anfänger bin. Sie scheinen zu glauben, ich habe mehrere Standorte und andere Missverständnisse. Tut mir leid, dass ich es nicht klargestellt habe, aber ich möchte nur, dass der Songname angezeigt wird, und ich bin nur ein Anfänger. Wenn Sie nicht helfen wollen, dann machen Sie bitte nicht mit, denn ich möchte hier keine Schatzsuche. how2play vor 7 Jahren 0
"... möchten dasselbe Skript auf mehreren Webseiten an verschiedenen Orten ..." so haben Sie es gesagt. Wenn Sie einen absoluten Link wie gewohnt verwenden (einschließlich http usw.), funktioniert er unabhängig davon, wo Sie ihn platziert haben. Wenn Sie einen relativen Link verwenden, ist dies nicht der Fall und es scheint, als hätten Sie das bereits versucht. Die einfachste Lösung besteht darin, das gesamte Archiv in jeden Ordner aufzunehmen, in dem sich die Webseite befindet, in dem sich ein Player befinden sollte. Nicht was du machen willst? Geh und lerne etwas JavaScript. Es sieht nicht so aus, als hätten Sie Zeit damit verbracht, zu verstehen, was im Beispiel geschrieben ist, und damit herumzuspielen. Seth vor 7 Jahren 0
Das Tutorial erwähnt sogar direkt, dass `audioElm.src` wirklich ausschlaggebend ist, um diese Arbeit zu ermöglichen. Außerdem habe ich Ihnen sogar erklärt, was Sie tun müssen. Sie müssen nur nachschlagen, wie mit Variablen in JS verfahren werden soll, und den Wert eines Textfelds ändern (es wird bereits in Zeile 44 gelesen, damit Sie es vielleicht schreiben können?). Ich werde nicht expliziter als das. Du bist ein Anfänger? Dann lernen Sie, was Sie tun möchten, anstatt dass jemand die Arbeit für Sie erledigt. Sie möchten, dass jemand die Arbeit für Sie erledigt? Zahlen Sie oder fragen Sie sehr nett. Seth vor 7 Jahren 0
Ich habe Ihnen mehrmals gesagt, dass Sie eine Variable mit der URL (tatsächliche Variable oder verborgene Eingabe) einrichten müssen, sie dem Audioelement zuordnen, sie auf den Dateinamen verkürzen und diese in die Eingabe einfügen müssen. Wenn Sie das nicht klären können, werden Sie wahrscheinlich bald Probleme bekommen. Alle Elemente dafür sind in Ihrem Beispiel. Nur als Beispiel haben Sie redundante Spielelemente und möchten möglicherweise mehr als nur einen Song spielen. Wenn Sie nicht herausfinden, wie Sie mit Variablen arbeiten, gehen Sie wahrscheinlich nirgendwohin. Außerdem befinden Sie sich bereits auf einer Stack Exchange-Site. Seth vor 7 Jahren 0
Danke für Ihre Hilfe. Ich habe keine Ahnung, wovon Sie sprechen, und ich wollte nur wissen, wie das Display nur den MP3-Namen ohne den Dateipfad anzeigen soll. Wie ich bereits erklärt habe, bin ich auf einem sehr einfachen Niveau und weiß, dass ich die Songs einfach im selben Ordner hosten kann. Auf diese Weise muss ich nur den Namen des Songs angeben. Dies wird auch im Pfadnamen angezeigt Und so werde ich immer wieder nur den Namen des Liedes anzeigen. Ich wollte dem Skript jedoch sagen, dass es "Song-Titel" anzeigen und mit einem Dateipfad verknüpfen soll, aber auf dem Display wird nur "Song-Titel" angezeigt. how2play vor 7 Jahren 0
Bitte verwechseln Sie nicht die Frage (= der vorhergehende Satz, was dem entspricht, was Sie mir auch sagen, ich sollte * eine * Lösung * machen) mit der Lösung (= wie genau mache ich das?). Nochmals vielen Dank für Ihre Hilfe. how2play vor 7 Jahren 0