【问题标题】:Stop music playing with vlc module?停止使用 vlc 模块播放音乐?
【发布时间】:2017-01-26 17:17:38
【问题描述】:

我写了一个播放歌曲的代码,但我不知道如何在歌曲播放时停止歌曲(我用 cmd 运行它)

这是代码:

import vlc

my_song = vlc.MediaPlayer("path to song")

my_song.play()

while True:
    pass

我认为如果我在播放音乐时(在另一个 cmd 窗口中)运行另一个代码,它将停止歌曲但它不起作用。想法是这样的:

import vlc

my_song = vlc.MediaPlayer("path to song")

my_song.stop()

while True:
    pass

目标是播放和停止音乐,我正在构建一个音乐程序。求救

【问题讨论】:

  • 似乎调用stop() 方法应该可以工作。请参阅OnStop() 方法是示例应用程序的this 代码。

标签: python vlc libvlc audio-player


【解决方案1】:

在我看来,这一切都必须是同一个进程的一部分,而不是分成两个进程(两个命令窗口)。根据您运行它的方式,一个进程(窗口)可能不知道另一个进程(窗口)。

您可能希望在相同的代码中完成此操作,类似于上面@martineau 评论中提到的代码。您需要一个事件来停止播放。这是一个计时器事件的示例。

import vlc
import time

my_song = vlc.MediaPlayer("path to song")

my_song.play()

timeout = time.time() + 3   # 3 seconds from now
while True:
    if time.time() > timeout:
        my_song.stop()

您可能想要另一个事件,例如按钮按下等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多