簡體   English   中英

如何從 Python 3 中的 vlc 模塊中使控制台 output 靜音

[英]How to silence console output from vlc module in Python 3

(Xubuntu 18.04, Python 3.6.9)

我正在為自己開發一個小應用程序,非常簡單地使用 vlc 模塊。 這是一個使用curses的基於控制台的應用程序,vlc在我的終端界面中間插入了它的output。 我不知道如何讓它靜音。 已閱讀 libvlc 文檔,我找不到任何關於它的信息。 嘗試過這個類似問題的建議,設置sys.stderr = open('stderr.txt', 'w+')后沒有成功。 無法在 libvlc 文檔或運行vlc -H中找到任何內容。 我真的不在乎我是否能夠訪問 output; 我只需要它不在控制台中打印。

這是我所有與 VLC 相關的代碼,在這種情況下可能不需要:

def vlc_init():
    global vlc_instance, media_player
    vlc_instance = vlc.Instance('--no-xlib') # VLC asked me to pass '--no-xlib' *shrug*
    media_player = vlc_instance.media_player_new()

def set_new_media(media_path):
    media = vlc_instance.media_new(media_path)
    media_player.set_media(media)

有誰知道我能做什么?

vlc -H

Console logger (console)
 -q, --quiet, --no-quiet        Be quiet
                      (default disabled)
   Turn off all messages on the console.

所以是的,只需在啟用這些標志之一的情況下調用您的 vlc 實例,並將 stderr 重定向到/dev/null即可。
vlc_instance = vlc.Instance('--no-xlib -q > /dev/null 2>&1')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM