#python #pygame #python-playsound
#python #пигмея #python-воспроизведение звука #pygame #python-playsound
Вопрос:
Я пытаюсь воспроизвести аудиофайлы с помощью Python. Ниже приведен мой код:
from pygame import mixer
from time import sleep
from playsound import playsound
mixer.init()
# mixer.music.load("test1.mp3")
# mixer.music.play()
# sleep(1)
playsound("test.mp3")
Я попробовал 2 способа воспроизведения звука:
- воспроизведение звука
- pygames
с помощью обоих методов я смог воспроизвести указанный ниже звук. https://drive.google.com/file/d/1-QQmMJnaK20L47DZGZS0MGZHnMK1uxdL/view?usp=sharing (имя файла — welcome5.mp3) -> возможность воспроизведения
но не удалось воспроизвести приведенный ниже звук:
https://drive.google.com/file/d/1Mh8iMM026aSKaBD2iEUB9R5dceRcNa4w/view?usp=sharing (имя файла — test.mp3)
С playsound я получаю следующую ошибку:
Traceback (most recent call last):
File "c:UsersSANKETHPycharmProjectsPracticeFilesteststest.py", line 9, in <module>
playsound("test.mp3")
File "C:UsersSANKETHAppDataLocalProgramsPythonPython38-32libsite-packagesplaysound.py", line 35, in _playsoundWin
winCommand('open "' sound '" alias', alias)
File "C:UsersSANKETHAppDataLocalProgramsPythonPython38-32libsite-packagesplaysound.py", line 31, in winCommand
raise PlaysoundException(exceptionMessage)
playsound.PlaysoundException:
Error 277 for command:
open "test.mp3" alias playsound_0.8194752932436311
A problem occurred in initializing MCI.
в случае pygame я получаю следующую ошибку:
Note: Illegal Audio-MPEG-Header 0x00000000 at offset 2650.
Note: Trying to resync...
Note: Skipped 10 bytes in input.
[d:buildlibmpg123mpg123-1.25.10srclibmpg123layer1.c:30] error: Illegal bit allocation value.
[d:buildlibmpg123mpg123-1.25.10srclibmpg123layer1.c:174] error: Aborting layer I decoding after step one.
ниже приведены подробные сведения о библиотеках или пакетах, установленных из pip:
$ pip3 list|grep -i "playsound"
playsound 1.2.2
SANKETH@DESKTOP-ULOB0S7 MINGW64 ~/PycharmProjects/Practice/Files/tests (master)
$ pip3 list|grep -i "pygame"
pygame 1.9.6
names of the files:
$ ls -l|grep -i "test"
-rw-r--r-- 1 SANKETH 197121 9661986 Aug 31 02:55 test.mp3
-rw-r--r-- 1 SANKETH 197121 183 Aug 31 21:18 test.py
-rw-r--r-- 1 SANKETH 197121 1772 Aug 30 22:32 test.txt
-rw-r--r-- 1 SANKETH 197121 58890 Aug 31 03:14 test1.mp3
Ответ №1:
Я попробовал использовать ваш код на своем локальном компьютере, и он работает абсолютно нормально, чтобы запустить этот скрипт, все, что вам нужно, это установить pygame и playsound с помощью pip
pip install pygame
pip install playsound
после этого вам нужно изменить файл mp3 на имя test.mp3 >> (когда я пытаюсь это сделать на своем локальном компьютере с Windows как «test.mp3», это не работает, тогда я изменил его на «test», после чего он начал работать)
Я думаю, вам лучше проверить имя файла в Linux Я думаю, вам следует использовать cli для перечисления имени файла
Комментарии:
1. Не уверен, как это работает на вашем локальном компьютере, я обновил свой вопрос, в последней строке я привел подробную информацию о пакетах (playsound и pygame), которые я уже установил через pip, я могу сказать, что файл называется test.mp3, что соответствует ожиданиям. Думаю, я уже пробовал все, что вы предлагаете
2. Пожалуйста, посмотрите на последнюю часть вопроса, которую я обновил, я уже установил все пакеты через pip, и файл уже назван test.mp3
Ответ №2:
я думаю, вам следует попробовать записать весь путь, ведущий к файлу, например, если файл находится на диске c. запись playsound("c:/users/alex/desktop/test.mp3")