Ich wollte dieselbe Wiedergabeliste für Musikdateien auf dem NAS sowohl auf dem PC als auch auf Android verwenden.
Erstellen Sie es diesmal mit der Wiedergabelistendatei "xspf" in VLC.
Selbst wenn ich eine Wiedergabeliste auf meinem PC erstelle und sie so wie sie ist auf Android verwende, wird die Fehlermeldung "Die Speicherortdatei: /// kann nicht abgespielt werden" angezeigt und ich kann sie nicht verwenden.
Wenn der Dateipfad der Wiedergabeliste aufgrund verschiedener Untersuchungen auf ** relativer Pfad ** eingestellt ist, kann er sowohl auf dem PC als auch auf Android geöffnet werden.
Erstellen Sie einen Ordner, um die Wiedergabeliste zu speichern Wenn Sie die Zieldatei zu diesem Zeitpunkt so nah wie möglich am Speicherort platzieren, ist es zu diesem Zeitpunkt einfacher, über den relativen Pfad nachzudenken, wenn Sie die Datei später neu schreiben.
Laden Sie die Videodatei durch Ablegen und Ziehen in den VLC Ihres PCs
Speichern Sie die Wiedergabeliste
Öffnen Sie die gespeicherte Wiedergabeliste und schreiben Sie sie in einen relativen Pfad Da hier viel umgeschrieben wird, werde ich es mit einem Skript usw. machen.
Wird auf PC und Andorid verfügbar sein
Sehr praktisch
Wenn ich "xspf" öffne, das auf der PC-Seite erstellt wurde, wird der Dateipfad als "absoluter Pfad" geschrieben, daher habe ich mich entschieden, Python zu verwenden, um ihn als "relativen Pfad" neu zu schreiben.
Der Pfad vor dem Umschreiben in "xspf" lautet "E: // music / album 01 / music.mp3". Wenn dies ein relativer Pfad am obigen Ordner ist, "` ../ album 01 / " Es wird music.mp3``.
Diesmal lautet der Dateipfad "E: //". Wenn Sie jedoch die ** gemeinsam genutzte IP-Adresse ** für denselben Zweck neu schreiben, können Sie sie unverändert verwenden.
Erstellen Sie also den folgenden Python im Ordner ** Playlist ** und führen Sie ihn aus, um ihn in einen relativen Pfad umzuschreiben.
import shutil
import os
from pathlib import Path
def replace(file_path):
file_name = file_path
#Erstellen einer Sicherungsdatei
print('path: ', file_path)
back_name = str(file_name) + '.bak'
print('back_name: ', back_name)
shutil.copy(file_name, back_name)
with open(file_name , encoding=`utf-8`) as f:
data_lines = f.read()
#String-Ersatz
# 「["Wann"]""%5B"Wann"%Wenn Sie es nicht durch "5D" ersetzen, wird "vlc":Es wird "nop" und liest nicht
data_lines = data_lines.replace('file:///E://music/', '../').replace('[', '%5B').replace(']', '%5D')
#Speichern Sie mit demselben Dateinamen
with open(file_name, `w`, encoding=`utf-8`) as f:
f.write(data_lines)
#Holen Sie sich den Ordner, in dem sich Ihr Py befindet
p_temp = os.path.dirname(__file__)
#Holen Sie sich eine Liste der xspf-Dateien in einem Ordner
for f in Path(p_temp).glob(`**/*.xspf`):
replace(f)
Recommended Posts