插入随机视频代替实际文件名

时间:2014-03-23 13:02:29

标签: random xbmc

我正在寻找一种方法来修改以下脚本,以便在运行脚本时在/ mnt / usb文件夹中播放随机视频。文件夹中的视频将每天更改,但都将是mov文件类型。在视频结束时,它将返回我们的幻灯片。

import xbmc
import time
import os

def PlayAndWait(mediafile):
  xbmc.executebuiltin("PlayMedia(%s)" % mediafile, True)
  while xbmc.Player().isPlaying():
    time.sleep(1.0)

if os.path.isfile ("/mnt/usb/videoenter.mov"):

        PlayAndWait("/mnt/usb/videoenter.mov")

xbmc.executebuiltin("SlideShow(/mnt/usb/slideshow)")

1 个答案:

答案 0 :(得分:1)

使用glob.glob获取与'/mnt/usb/*.mov'匹配的文件列表,然后使用random.choice选择一个:

import xbmc
import time
import os
import glob
import random

def PlayAndWait(mediafile):
    # escape characters and quote if needed as xbmc requires
    if '"' in mediafile:
        mediafile = mediafile.replace('"','\\"')
    if any(x in mediafile for x in ",() "):
        mediafile = '"' + mediafile + '"'

    xbmc.executebuiltin("PlayMedia(%s)" % mediafile, True)
    while xbmc.Player().isPlaying():
        time.sleep(1.0)

files = glob.glob('/mnt/usb/*.mov')

if not files:

    filename = random.choice(files)

    if os.path.isfile(filename):

        PlayAndWait(filename)

xbmc.executebuiltin("SlideShow(/mnt/usb/slideshow)")