原文: https://pythonbasics.org/python-play-sound/

在 Python 上播放声音很容易。 有几个模块可以播放声音文件(.wav)。
这些解决方案是跨平台的(Windows,Mac,Linux)。

主要区别在于易用性和受支持的文件格式。 所有这些都应与 Python 3 一起使用。除非您指定路径,否则音频文件应与 python 程序位于同一目录中。

让我们探讨一下选项!

用 Python 播放声音

playsound模块

playsound模块是可以播放音频文件的跨平台模块。 它没有任何依赖性,只需在您的virtualenv中使用pip安装并运行即可!

  1. from playsound import playsound
  2. playsound('audio.mp3')

在平台上的实现是不同的。 它在 Windows 上使用windll.winm,在 Apple OS X 上使用AppKit.NSSound,在 Linux 上使用GStreamer

我已经使用 Python 3.5.3。进行了测试。 这对 WAV 和 MP3 文件均适用。

pydub

您可以使用pydub模块播放声音文件。 可以在 PyPI 储存库中(随pip一起安装)。此模块可以在下面使用 PyAudio 和ffmpeg

  1. from pydub import AudioSegment
  2. from pydub.playback import play
  3. song = AudioSegment.from_wav("sound.wav")
  4. play(song)

tksnack

tksnack模块声音套件可以播放多个音频文件:WAV,AU,AIFF,MP3,CSL,SD,SMP 和 NIST/Sphere。

您可以使用包管理器进行安装:apt install python3-tksnack。 对于旧版本,有python-tksnack

该模块取决于 Tkinter。 这意味着要使用此模块播放声音,您还必须导入 gui 模块 Tkinter。 该模块似乎暂时没有更新。

  1. from Tkinter import *
  2. import tkSnack
  3. root = Tk()
  4. tkSnack.initializeSnack(root)
  5. snd = tkSnack.Sound()
  6. snd.read('sound.wav')
  7. snd.play(blocking=1)

本机播放器

您还可以在系统上本地播放声音。 这要求您在终端上安装某种音频播放器。 在 Linux 上,您可以使用mpg123

这只是通过外部播放器播放 mp3 文件。

  1. # apt install mpg123
  2. import os
  3. file = "file.mp3"
  4. os.system("mpg123 " + file)

下载音频示例