Как воспроизводить фоновую музыку и выполнять другие функции в python?

Я использую модуль playsound для воспроизведения файла background_loop.mp3, но я не могу вызвать другую функцию или запустить другую часть скрипта, пока он не завершит воспроизведение.

Есть ли способ вызвать функцию и запустить скрипт во время воспроизведения музыки?

Вы пробовали использовать threading.Thread?

politinsa 09.04.2022 14:38

да, но я все еще не могу заниматься другими делами, пока не закончу играть.

gabriele tosti 09.04.2022 14:40
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
2
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для этого вы можете использовать резьба.

from threading import Thread

# Create a new thread
# The target is the function to run
# You can also pass arguments to the function
t = Thread(target=playsound.playsound, args=["background_loop.mp3"])

# Start the thread
t.start()

# You can run more code here, that will keep going even while the background music is playing.

Я только что сделал тест, но он все еще не запускает скрипт: os.chdir("C:\DarkRoom")def music(): playsound.playsound("background_loop.mp3")t = Thread(target=music()) t.start()print("test") @Xiddoc

gabriele tosti 09.04.2022 14:54

На самом деле не вызывайте функцию (в вашем примере вы бы написали music вместо music()). Это потому, что Thread нужна ссылка на функцию, а не результат функции. Смотрите мой отредактированный пост.

Xiddoc 09.04.2022 15:19

И последний вопрос, могу ли я воспроизвести несколько звуков одновременно с помощью Thread? @Xiddoc

gabriele tosti 09.04.2022 15:38

Конечно! Просто сделайте еще одну ветку. Например, сразу после t.start() сделайте t2 = Thread( ...

Xiddoc 10.04.2022 17:39

Другие вопросы по теме