在 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)