我有一个从目录导入并随机化的 VLC MediaList。我想将其设置为全屏。如果这有影响的话,我正在 Raspberry Pi 4 上执行此操作。
from vlc import Instance
import time
import os
import random
#VLC setup
class VLC:
def __init__(self):
self.Player = Instance('--fullscreen')
def addPlaylist(self):
self.mediaList = self.Player.media_list_new()
path = "/home/kitchentv/Videos"
episodes = os.listdir(path)
random.shuffle(episodes)
for s in episodes:
self.mediaList.add_media(self.Player.media_new(os.path.join(path,s)))
self.listPlayer = self.Player.media_list_player_new()
self.listPlayer.set_media_list(self.mediaList)
def play(self):
self.listPlayer.play()
def next(self):
self.listPlayer.next()
def pause(self):
self.listPlayer.pause()
def previous(self):
self.listPlayer.previous()
def stop(self):
self.listPlayer.stop()
player = VLC()
player.addPlaylist()
player.play()
player.set_fullscreen(True)
实例上的 --fullscreen 标签似乎根本没有做任何事情。
我将播放器设置为全屏的最后一行返回此错误代码
AttributeError: 'VLC' object has no attribute 'set_fullscreen'
据我所知,MediaList 属性不像 MediaPlayer 那样接受 set_fullscreen 。还有其他方法可以实现全屏吗?有些人建议通过 libvlc 设置它,但我不确定在这种情况下如何做到这一点。
--fullscreen
标志在这里不起作用 self.Player = Instance('--fullscreen')
因为如果从命令行使用 VLC,它通常可以工作,但在与 python 绑定一起使用时,我们需要以编程方式设置全屏。
我还创建了一个新的媒体播放器实例作为属性。在
addPlaylist
方法中,我用MediaPlayer
设置了MediaListPlayer
的self.listPlayer.set_media_player(self.mediaPlayer)
。最后,我在 MediaPlayer
方法中使用 self.mediaPlayer.set_fullscreen(True)
将 self.play
设置为全屏。
您可以尝试以下代码:
from vlc import Instance
import time
import os
import random
class VLC:
def __init__(self):
self.Player = Instance()
self.mediaPlayer = self.Player.media_player_new()
def addPlaylist(self):
self.mediaList = self.Player.media_list_new()
path = "/home/kitchentv/Videos"
episodes = os.listdir(path)
random.shuffle(episodes)
for s in episodes:
self.mediaList.add_media(self.Player.media_new(os.path.join(path, s)))
self.listPlayer = self.Player.media_list_player_new()
self.listPlayer.set_media_list(self.mediaList)
self.listPlayer.set_media_player(self.mediaPlayer)
def play(self):
self.listPlayer.play()
self.mediaPlayer.set_fullscreen(True)
def next(self):
self.listPlayer.next()
def pause(self):
self.listPlayer.pause()
def previous(self):
self.listPlayer.previous()
def stop(self):
self.listPlayer.stop()
player = VLC()
player.addPlaylist()
player.play()