Не удается воспроизвести аудиофайл на python

#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 способа воспроизведения звука:

  1. воспроизведение звука
  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")