3

我正在尝试使用 python 在录制音频时关闭 VLC。目前我正在使用:

os.kill(pid,pid)

这可行,但会突然关闭 VLC,并且不允许录制文件正确关闭,从而损坏它。如果我手动关闭 VLC GUI 实例,则录制文件不会损坏。

所以基本上我正在寻找一个python命令来关闭一个模拟应用程序GUI上的“关闭”按钮的应用程序。

或者,也许还有另一种方式。比如在终止 VLC 进程之前关闭正在写入录音的 .wav 文件?我也为此做了一些工作,但没有得到任何结果。

谢谢您的帮助!

4

2 回答 2

7

您使用错误的功能,您可能会想要这样的东西:

from signal import SIGTERM
os.kill(pid,SIGTERM)

第二个参数指定中断。也经常使用的是SIGKILL硬杀,可能和你以前一样。您可以在此处找到有关 linux 信号的更多信息。在 Windows 中,您的选择更加有限,请参阅python 文档以获取可用信号。

通过pid还提供第二个参数,您可能会设置一个相当大的终止信号,该信号会立即终止应用程序,而无需关闭文件。

于 2013-08-05T12:47:48.720 回答
0

我想我成功了。而不是使用 os.kill() 我正在使用

os.system("taskkill /pid " +str(pid)+ " /t")

这会在不损坏文件的情况下关闭录制。此外,如果其他人遇到此问题并使用 VLC 命令行进行录制,则如果使用虚拟接口,这似乎不起作用。

于 2013-08-06T16:09:08.100 回答