我已经学会了如何使用Python Subprocess使用代码在VLC中打开视频文件:
import os, subprocess
vlcPath = "C:/Program Files/VideoLAN/VLC/vlc.exe"
vid = "vid.mp4"
aud = "aud.mp3"
aud2 = "aud2.mp3"
#To open just the video in vlc, the following code works:
subprocess.Popen([vlcPath, vid])
现在如何使此代码加载其他音频文件,以便将它们同时加载为编解码器,并且用户可以轻松地从VLC中切换到特定的音频文件之间。
我能够通过单击选项"播放另一个媒体异步(额外的音频文件,...(",并在"额外媒体"部分中添加路径,从而直接从VLC获得同时从VLC进行流式传输。。
这样做时,VLC添加一个选项,说" :input-slave = [filename] "
现在我该如何在Python中做同样的事情,因为以下情况不起作用:
subprocess.Popen([vlcPath, vid, aud, aud2])
或
subprocess.Popen([vlcPath, "{} :input-slave={}".format(vid, aud)])
或
subprocess.Popen([vlcPath, vid, ":input-slave=", aud, ":input-slave=", aud2])
我在上面尝试过的第一个和第三个解决方案,在" VLCPath"之后打开所有索引项目,作为VLC播放列表中的单独项目。第二个解决方案使我陷入错误。
我已经尽力详细解释我的问题,但是请随时问我是否需要更多详细信息,我会尽力回答您的问题。
谢谢。
好吧,我刚刚找到了我自己问题的解决方案。
我从 synetech的中找到了解决方案,请在以下文章中回答:https://superuser.com/questions/685507/how-to-to-to-play-play-a-sound-a-sound-video-video-and-add--a-audio-file-at-same-pitie
使它起作用,我尝试做的就是将 - input-slave = 添加到音频文件,例如:
subprocess.Popen([vlcPath, vid, "--input-slave="+aud])
,尽管这有效,如果我尝试使用此方法添加其他音频,则它不起作用,即:
subprocess.Popen([vlcPath, vid, "--input-slave="+aud, "--input-slave="+aud2])
这不起作用。
因此,如果您对此有解决方案,那将是有帮助的。
谢谢。
回答太晚了,但是对于下一个人,您可以使用以下内容:
subprocess.Popen([vlcPath, vid, "--input-slave="+aud+"#"+aud2])
来自VLC命令行文档
--input-slave=<string> Input slave (experimental)
This allows you to play from several inputs at the same time. This
feature is experimental, not all formats are supported. Use a '#'
separated list of inputs.