无法在Python中为VLC MediaList设置全屏

问题描述 投票:0回答:1

我有一个从目录导入并随机化的 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 设置它,但我不确定在这种情况下如何做到这一点。

python vlc python-vlc
1个回答
0
投票

--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()
© www.soinside.com 2019 - 2024. All rights reserved.