я думаю, что я собираюсь заняться этим... Вы просили простой способ запуска XBMC... Ну... Вот самый простой способ. Я этого не говорю is простой способ, но это единственный способ запустить фильм (которого нет в вашей библиотеке) и работает с переходом к минутам (или секундам).
сначала необходимо настроить XBMC для автоматического запуска скрипта. Для этого нам нужно создать файл с именем autoexec.py
in %appdata%\XBMC\userdata
.
Обычно это C:\Users\<username>\AppData\Roaming\XBMC\userdata
.
Не волнуйся. Для этого вам не нужно "изучать" python. Просто скопируйте код в этот файл.
создать 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()
я настроил скрипт из здесь (thnx @root) и сделал так, чтобы проверить переменные среды на XBMC_PLAY
и XBMC_JUMP
. Таким образом, мы можем вызвать XBMC из batchfile, и он будет воспроизводить файл.
опять не волнуйтесь. Если эти переменные среды не существует XBMC будет работать как обычно.
Далее нам нужно создать batchfile, чтобы установить правильные значения и запустить XBMC.
XBMC_PLAY
это ваш фильм-файл и XBMC_JUMP
являются секунды, чтобы прыгать в (это может быть 0
).
самый простой будет:
set XBMC_PLAY=<YOUR_MOVIE>
set XBMC_JUMP=<SECONDS_TO_JUMP>
"C:\Program Files(x86)\XBMC\XBMC.exe"
set XBMC_PLAY=
set XBMC_JUMP=
но так как я перфекционист;) я создал более сложную партию, которую вы можете использовать, чтобы бросить файл, и он попросит "перейти минут". Также можно назвать этот пакетник как
xbmc_run moviefile.avi 15
напрямую.
вы даже можете создать ассоциацию файлов для .avi
etc... чтобы запустить этот batchfile вместо другого игрока:)
создать 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
он отлично работает здесь. Я использовал XBMC v12.2 "Фродо". Если тебе нужна помощь, дай мне знать.
редактировать: мне только что пришло в голову, что прошу прыгнуть в минут может быть более интуитивным, чем секунд (как я сделал изначально). Поэтому я изменил код выше попросить минуту перехода и пересчитать до секунд для XBMC.
если вы хотите перейти в секундах назад вы можете изменить эти 2 строки:
if "%jump%"=="" set /p jump="Jump to second: "
set /a jump*=1
просто поместите файл фильма в этот пакетный файл, введите минуту перехода (или просто введите если нет) и вы хорошо идти :)