#python #linux #mp3 #subprocess #python-3.4
#python #linux #mp3 #подпроцесс #python-3.4
Вопрос:
Я пытаюсь дождаться завершения песни, чтобы воспроизвести следующую песню.
Я использую python 3.4 в Windows, но пытаюсь использовать его в Linux ( raspberry pi
).
Я использовал команду subprocess.call([PLAYER, SONG])
для открытия файла mp3. Он воспроизводится в vlc, а затем останавливается. Я знаю, что я ничего не включил в программу, чтобы сообщить python о ее завершении.
Вот тут-то вы, ребята, и вступаете. Я хочу найти команду, которая будет ждать, пока песня не закончится, и когда песня будет завершена, остальная часть кода будет обработана.
Я хотел бы, чтобы команда могла использоваться в операционной системе Linux, и я стараюсь не устанавливать никаких модулей.
Если модули определенно необходимы, я их установлю.
Ответ №1:
Вы можете использовать привязки VLC python для получения другой информации о проигрывателе VLC.
Существуют разные методы, которые могут предоставить вам различную информацию. Вы можете достичь своего решения, используя метод get_state(self), он предоставляет информацию о состоянии проигрывателя. Итак, когда песня будет завершена, состояние VLC будет остановлено.
Пример кода:
import vlc
def setup_player(filename):
vlc_instance = vlc.Instance()
media = vlc_instance.media_new(filename)
player = vlc_instance.media_player_new()
player.set_media(media)
player.play()# Start the player
print player.get_state()# Print player's state
player.stop()# Stop the player
print player.get_state()# Print player's state
setup_player('filename')#Put media file name/location here
Надеюсь, это было полезно.