@ddgryaz

Как заставить playsound воспроизводить музыку, после создания .exe программы?

Доброго времени суток!
Подскажите пожалуйста, использую воспроизведение музыки в своей программе с помощью playsound.
Например вот так:
playsound('D:/PythonProject/111/music/loseround.mp3)

Соответственно после создания эксешника посредством pyinstaller, музыка у меня играет, но потому, что музыка все так же лежит в этой директории.
Знатоки, подскажите есть ли вариант сделать эксешник, чтобы все играло на машине у человека, у которого есть только эксешник.
Были мысли сделать установщик с помощью какой-нибудь бесплатной программки, и добавить туда папку Music, но не факт ведь, что другой человек установит программу на диск D:/ или тем более в аналогичный моему путь.
Спасибо!
  • Вопрос задан
  • 251 просмотр
Решения вопроса 1
@ddgryaz Автор вопроса
Решение найдено здесь.
Оптимизировано для моего примера:
def resource_path(relative_path):
    if hasattr(sys, '_MEIPASS'):
        return os.path.join(sys._MEIPASS, relative_path)
    return os.path.join(os.path.abspath("."), relative_path)

playsound(resource_path('loseround.mp3'))

Звуковые файлы должны лежать в каталоге с исполняемым скриптом .py
Далее в терминале собрать программу с помощью Pyinstaller:
pyinstaller -F --add-data "D:/PythonProject/111/music/loseround.mp3;."  --icon=icon.ico main.py


Далее я создал инсталлятор, где есть файл .exe и mp3 файлы. Программа работает без ошибок на любой другой машине.
Вопрос решен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы