【问题标题】:Not able to play audio file in python无法在python中播放音频文件
【发布时间】:2020-08-31 15:55:17
【问题描述】:

我正在尝试使用 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")

我尝试了两种播放音频的方法:

  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:\Users\SANKETH\PycharmProjects\Practice\Files\tests\test.py", line 9, in <module>
    playsound("test.mp3")
  File "C:\Users\SANKETH\AppData\Local\Programs\Python\Python38-32\lib\site-packages\playsound.py", line 35, in _playsoundWin
    winCommand('open "' + sound + '" alias', alias)
  File "C:\Users\SANKETH\AppData\Local\Programs\Python\Python38-32\lib\site-packages\playsound.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:\build\libmpg123\mpg123-1.25.10\src\libmpg123\layer1.c:30] error: Illegal bit allocation value.
[d:\build\libmpg123\mpg123-1.25.10\src\libmpg123\layer1.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

【问题讨论】:

    标签: python pygame python-playsound


    【解决方案1】:

    我在本地机器上尝试了您的代码,运行此脚本完全正常,您只需安装 pygame 并使用 pip 播放声音

    pip install pygame
    pip install playsound
    

    之后,您需要将 mp3 文件更改为名称 test.mp3 >>(当我在本地 Windows 机器上尝试将其命名为“test.mp3”时它不起作用,然后我将其更改为“test”然后它开始工作)

    我认为你最好检查一下 Linux 中的文件名我认为你应该使用 cli 来列出文件名

    【讨论】:

    • 不确定它是如何在您的本地工作的,我已经在最后一行更新了我的问题,我已经给出了我已经通过 pip 安装的软件包(playsound 和 pygame)的详细信息,我可以说该文件名为 test.mp3,这是预期的。猜猜我已经尝试过你的建议了
    • 请看我更新的问题的最后一部分,我已经通过 pip 安装了所有包,文件已经命名为 test.mp3
    【解决方案2】:

    我认为您应该尝试写入通向该文件的整个路径,例如,如果该文件位于 c 驱动器上,请写入 playsound("c:/users/alex/desktop/test.mp3")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      相关资源
      最近更新 更多