2016-06-22 4 views
1

Wir haben Android-Gerät. Innerhalb dieses Gerät auf interne Blitz Download-Ordner befindet und in diesem Ordner befindet cat.mp4Ist es möglich, mp4-Datei zu spielen, befindet sich im Download-Ordner auf Android WebView über Video Tag?

Derzeit verwenden wir folgende Skript:

<video width="365" height="200" autoplay loop controls autobuffer> 
    <source src="file:///sdcard/Download/cat.mp4" type='video/mp4'> 
</video> 

Wir auch folgende Skript versucht haben:

<video width="365" height="200" src="file:///sdcard/Download/cat.mp4" autoplay loop controls autobuffer> 
</video> 

Beide Skripts spielen keine lokale Videodatei ab.

Die HTML-Datei selbst, die über Video-Tags enthält, kommt von bestimmten Remote-Speicherort (nicht lokal).

(Wenn wir cat.mp4 auf entfernte Stelle platzieren kann ohne Probleme)

Ist der richtige Ansatz lokale mp4 Dateien in WebView zu spielen? Wenn nicht, welcher Teil des Codes ist falsch?

Antwort

1

Ist dieser Ansatz richtig lokale mp4 Dateien in WebView zu spielen?

Nein, das kann man generell nicht machen (webView oder nicht). Sicherheitsmaßnahmen (in HTML-Protokollen) ermöglichen einer webbasierten Anwendung nicht den Zugriff auf Benutzerdateien von ihrer Festplatte (oder einem anderen Speicher).

Der Benutzer muss den Zugriff erlauben, indem er die Datei selbst auswählt (daher die Option Datei auf einigen Websites durchsuchen/auswählen). Nur Optionen sind:

  • Put HTML und Video-Dateien online (alles von Web laden)
  • Put HTML in Download-Ordner der SD-Karte können Sie src="cat.mp4"

Eine Seite Problem mit Ihrem Ansatz bettelt verwenden die Frage, was passiert für Besucher der Website ohne diese Dateien auf SD-Karte? Oder schlimmer, ein Benutzer nicht sogar Android (auf einem Win PC wie kann mein Browser Sinn src="file:///sdcard/Download/cat.mp4"?)

+0

Dies ist vielleicht nicht die eleganteste Lösung, aber das ist meine Abhilfe: Ich habe einige leichte Server auf dem Gerät installiert. Ich lade meine Datei auf diesen Server hoch und beziehe mich darauf: src = "localhost: [irgendein port] /cat.mp4" Ich habe auch das Videoformat geändert, jetzt benutze ich das webm Format, weil einige mp4 Dateien nicht auf meinem Gerät abgespielt wurden . –

+0

Ist das etwas, das nur auf Ihrem Gerät funktioniert (keine externen Internetnutzer), sondern über den Browser angezeigt wird? Warum also nicht mit meiner ** Option 2 **? Erstellen Sie einen Ordner auf Ihrer SD-Karte namens ** mySite ** und legen Sie dort die HTML-Datei und die Videodatei ab. Dann greift der HTML-Tag einfach auf 'src =" cat.mp4 "' oder 'src =" cat.webm "' (beachten Sie, dass keine Ordnerpfade vorhanden sind). Eine lokale HTML-Datei muss auf Dateien am selben Speicherort zugreifen. –

+0

Ja, aber meine HTML-Datei befindet sich auf einem anderen Server, ich kann sie nicht in den Download-Ordner stellen. Ich habe auch versucht, lokale (HTML) Datei über iframe-Tag ('src' Attribut) innerhalb meiner Webseite zu referenzieren, aber das hat auch nicht funktioniert –

Verwandte Themen