2016-04-27 11 views
0

Ich versuche, einen lokalen Video-Player in nwjs (Node-Webkit) zu bauen. Ich konnte die lokalen Dateien abspielen, indem ich ihren Pfad als src-Attribut des Videoelements hinzufügte, aber jetzt möchte ich MediaSource und wahrscheinlich URL.createObjectUrl() verwenden.Verwenden Sie lokale Dateien mit MediaSource

Das Problem ist, dass ich keine Dokumentation gefunden habe, die mir dies erlaubt, während meiner Tests kann ich keine neue Quelle an MediaSource als die lokale Datei anhängen. Ich habe direkte Pfade und XHR-Anfragen ausprobiert, am ehesten war ich mit der XHR-Anforderung der Datei, aber ich kann die xhr.response nicht in einen für meinen Zweck brauchbaren Gegenstand umwandeln, wie zum Beispiel einen objecturl.

Aus irgendeinem Grund ändert nur die Änderung des src-Attributs jedes Mal, wenn ein neues Video ausgewählt wird, die Speicherauslastung ständig, weshalb ich dies über die MediaSource API versuchen möchte.

Da es solche Informationen nicht gibt, würde ich mich freuen, wenn jemand helfen könnte.

+0

Einige Browser blockieren aus Sicherheitsgründen den Zugriff auf lokale Dateien oder verhalten sich sehr unterschiedlich. –

+0

@ JeremyJStarcher Dies ist nicht in einem Browser per se, dies ist in Node-Webkit, die viel Freiheit hat, da es node.js Module verwendet. Es gibt keine Probleme mit dem lokalen Dateizugriff, ich sagte sogar, dass ich die Dateien mit Erfolg abholen konnte. – Shadow

Antwort

0

Ich konnte herausfinden, wie dies gemacht werden könnte, zuerst muss es ein mediasource Objekt sein, mit dem Sie URL.createObjectUrl verwenden, um mit der video.src zu verknüpfen, und dann erstellen Sie einen Puffer darauf. Diesem Puffer wird das Medium hinzugefügt, das über XMLHttpRequest geladen wird, wobei der Inhaltstyp als ein Array-Puffer festgelegt ist.

Vorsichtig mit großen Dateien, wenn Sie nicht segmentieren und alles auf einmal laden wird es Ihren Widder essen und sogar Ihre Anwendung zum Absturz bringen.

Verwandte Themen