Ich denke, ich werde dieses Problem angehen. Sie haben nach dem einfachsten Weg gefragt , XBMC zu starten. Nun, hier ist der einfachste Weg. Ich sage nicht , es ist ein einfacher Weg , aber es ist der einzige Weg , um einen Film zu laufen (die nicht in Ihrer Bibliothek ist) und arbeiten mit dem Sprung zu Minuten (oder Sekunden).
Zuerst müssen Sie XBMC einrichten, um ein Skript beim Start automatisch auszuführen. Dazu müssen wir eine Datei mit dem Namen autoexec.py
in erstellen %appdata%\XBMC\userdata
.
Normalerweise ist das so C:\Users\<username>\AppData\Roaming\XBMC\userdata
.
Mach dir keine Sorgen. Sie müssen dafür Python nicht "lernen". Kopieren Sie einfach den Code in diese Datei.
Dort erstellen autoexec.py
:
import xbmc
import xbmcgui
import os
class Main:
def __init__(self):
playlist = xbmc.PlayList( xbmc.PLAYLIST_VIDEO )
playlist.clear()
try:
file = os.getenv('XBMC_PLAY','')
jump = os.getenv('XBMC_JUMP','0')
except:pass
if os.path.isfile(file):
xbmc.executebuiltin('Notification(Playing '+file+',Jump to '+jump+',5000)')
playlist.add(file)
try:
xbmc.Player().play( playlist)
except:pass
try:
xbmc.Player().seekTime(int(jump))
except:pass
m = Main()
Ich habe das Skript von hier aus angepasst (thnx @root) und es so gemacht, dass es Ihre Umgebungsvariablen auf XBMC_PLAY
und überprüft XBMC_JUMP
. Auf diese Weise können wir XBMC aus einer Batchdatei aufrufen und die Datei wird abgespielt.
Wieder keine Sorge. Wenn diese Umgebungsvariablen nicht vorhanden sind, funktioniert XBMC wie gewohnt.
Als Nächstes müssen wir die Batchdatei erstellen, um die richtigen Werte festzulegen und XBMC auszuführen.
XBMC_PLAY
ist deine Filmdatei und XBMC_JUMP
gibt die Sekunden an, in denen du springen musst (es kann sein 0
).
Am einfachsten wäre:
set XBMC_PLAY=<YOUR_MOVIE>
set XBMC_JUMP=<SECONDS_TO_JUMP>
"C:\Program Files(x86)\XBMC\XBMC.exe"
set XBMC_PLAY=
set XBMC_JUMP=
Aber da ich ein Perfektionist bin;) habe ich einen aufwendigeren Stapel erstellt, auf dem Sie eine Datei ablegen können und der nach den "Sprungminuten" fragt. Es ist auch möglich, diese Batchdatei
xbmc_run moviefile.avi 15
direkt aufzurufen .
Sie können sogar eine Dateizuordnung für .avi
etc ... erstellen , um diese Batchdatei anstelle eines anderen Players auszuführen :)
Erstellen xbmc_run.bat
@echo off
if "%1"=="" goto usage
if not exist %1 goto filenotfound
::-----------------------------------------------
:: set-up temp-variable for Program Files
::-----------------------------------------------
set ProgFiles86=%ProgramFiles(x86)%
if not "%ProgFiles86%"=="" goto win64
set ProgFiles86=%ProgramFiles%
:win64
::-----------------------------------------------
:: get %2 parameter. if not given ask for seconds
::-----------------------------------------------
set jump=%2
if "%jump%"=="" set /p jump="Jump to minute: "
set /a jump*=60
::-----------------------------------------------
:: set user-environment variables and start xbmc
::-----------------------------------------------
:play
set XBMC_PLAY=%1
set XBMC_JUMP=%jump%
echo Starting %XBMC_PLAY% and jump to %XBMC_JUMP% seconds
"%progFiles86%\XBMC\XBMC.exe"
set XBMC_PLAY=
set XBMC_JUMP=
goto :eof
:usage
echo Usage: %0 movie [jump]
exit/b 1
:filenotfound
echo File %1 not found
exit/b 1
Hier funktioniert es perfekt. Ich habe XBMC v12.2 "FRODO" verwendet. Wenn Sie Hilfe benötigen, lassen Sie es mich wissen.
Bearbeiten : Es ist mir gerade eingefallen, dass das Auffordern, in Minuten zu springen , intuitiver sein kann als Sekunden (wie ich es ursprünglich getan habe). Also habe ich den obigen Code geändert , um die Sprungminute abzufragen und für XBMC in Sekunden umzurechnen.
Wenn Sie den Sprung in Sekunden zurück wollen, können Sie diese 2 Zeilen ändern:
if "%jump%"=="" set /p jump="Jump to second: "
set /a jump*=1
Legen Sie einfach eine Filmdatei auf diese Batchdatei, geben Sie die Sprungminute ein (oder nur, enterwenn keine vorhanden ist) und los geht's :)