用 Python 播放声音

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

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

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

让我们探讨一下选项!

用 Python 播放声音

playsound模块

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

from playsound import playsound
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

from pydub import AudioSegment
from pydub.playback import play

song = AudioSegment.from_wav("sound.wav")
play(song)

tksnack

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

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

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

from Tkinter import *
import tkSnack

root = Tk()
tkSnack.initializeSnack(root)

snd = tkSnack.Sound()
snd.read('sound.wav')
snd.play(blocking=1)

本机播放器

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

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

# apt install mpg123

import os

file = "file.mp3"
os.system("mpg123 " + file)

下载音频示例