2016-01-19 8 views
0

Я использую связывание играть код музыки file.my выглядит следующим образом libvlc питон:Python скрипт выполняет, но не в состоянии услышать звук, который он играет

import vlc 
instance = vlc.Instance() 

#Create a MediaPlayer with the default instance 
player = instance.media_player_new() 

#Load the media file 
media = instance.media_new('01.DONT CARE.mp3') 

#Add the media to the player 
player.set_media(media) 

try: 
    player.play() 
except Exception, e: 
    raise e 

Сценарий выполняется успешно, но я не могу слышать что-нибудь. Если код выполняется по строкам, то он работает правильно, и я могу слышать звук. Любая идея о том, что может быть неправильным?

+0

Если вы добавили вызов ['time.sleep()'] (https://docs.python.org/3.5/library/time.html) после 'player.play()', вы слышите звук? – JCVanHamme

ответ

2

Я думаю, причина в том, что он не воспроизводится, потому что player.play() является асинхронным. Поэтому, когда скрипт выходит, он убивает процесс и немедленно останавливает медиа. Попробуйте добавить time.sleep(10) и посмотреть, как он играет.

Примечание: не забудьте указать import time наверху.

Причина, по которой он будет работать, когда вы вводите его в строке за строкой, заключается в том, что он не выходит из программы python.