2017-01-26 3 views
0

j'ai écrit un code qui joue chanson, mais je ne sais pas comment arrêter la chanson alors que son jeu (i courir avec cmd)Arrêter la musique en jouant avec le module vlc?

Voici le code:

import vlc 

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

my_song.play() 

while True: 
    pass 

I Je pensais que si je cours un autre code pendant que la musique joue (dans une autre fenêtre de cmd) cela arrêtera la chanson mais cela ne fonctionne pas. Ce fut l'idée:

import vlc 

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

my_song.stop() 

while True: 
    pass 

L'objectif est de jouer et d'arrêter la musique, je suis la construction d'un programme de musique. Tnx pour l'aide

+0

On dirait d'appeler la méthode 'arrêt()' devrait fonctionner. Voir la méthode 'OnStop()' est [this] (http://git.videolan.org/?p=vlc/bindings/python.git;a=blob;f=examples/tkvlc.py;h=55314cab09948fc2b7c84f14a76c6d1a7cbba127; hb = HEAD) d'un exemple d'application. – martineau

Répondre

0

Cela me semble que tout cela devrait faire partie du même processus et ne pas être divisé en deux processus (deux fenêtres de commande). Selon la façon dont vous l'exécutez, le processus (fenêtre) ne connaît probablement pas l'autre processus (fenêtre).

Vous voudrez probablement accomplir ceci dans le même code, similaire au code mentionné dans le commentaire de @ martineau ci-dessus. Vous aurez besoin d'un événement pour arrêter le jeu. Voici un exemple d'événement de minuterie.

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() 

Vous voudrez peut-être un autre événement comme un bouton poussoir, etc.