2016-07-26 13 views
0

Ich benutze Electron, um eine Desktop-Anwendung zu erstellen, die ein Video lokal im gleichen Verzeichnis wie das HTML lädt.Electron App kann Puffer in der Produktion nicht suchen

Wenn die App in Entwicklung mit ich in der Lage bin den Puffer mit Erfolg zu suchen (ich die Zeit des Videos ändern und es sucht nach anderen Bytes)

Zunächst es die Daten des Videos von Byte 0 bekommt:

Request URL:file:///path_to_electron/electron-boilerplate/build/HQ.mp4 
Range:bytes=0- 

Und wenn ich ändern, um die Zeit, die für das neue Stück des Videos in einem anderen Antrag sucht, wenn es nicht in dem Puffer ist:

Request URL:file:///path_to_electron/electron-boilerplate/build/HQ.mp4 
Range:bytes=89784320- 

wenn ich es in prod laufen uction Umwelt ich dies zunächst:

Request URL:file:///Applications/app_name/Contents/Resources/app.asar/HQ.mp4 
Range:bytes=0- 

Aber wenn ich zu einer Zeit, zu gehen versuchen, dass ich in den Puffer haben es nicht mit Video-Fehler abstürzt 3 (MEDIA_ERR_DECODE - Fehler beim Dekodieren)

Request URL:file:///Applications/app_name/Contents/Resources/app.asar/HQ.mp4 
Range:bytes=89784320-  
Error code: 3 

ich den Unterschied nicht bekommen es für die Entwicklung oder in der laufenden Produktion, die

Antwort

0

Whenyou führen sie Ihre Produktion Skript diesen Fehler erzeugen könnte, erzeugt sie ein asar Paket mit allen App drin.

Ein asar Archiv ist ein einfaches tar-ähnliches Format, das Dateien in einer einzigen Datei verkettet. Electron kann beliebige Dateien daraus lesen, ohne die ganze Datei zu entpacken.

Jedoch kommt dies mit einigen Einschränkungen und eine davon ist, dass die Archive in der asar sind read-only so vielleicht die Bibliothek versucht, das Video oder eine andere Datei zu ändern, und es wirft sie den Fehler.

Application Packaging (asar info)