用python播放声音文件(mp3、wav、m4a等)

用python播放声音文件(mp3、wav、m4a等)

前段时间在搞一个基于python的语音助手,其中需要用到python播放音频的功能,要在windows上和树莓派上运行,但是在网上找了好久,都没有找到合适的解决方案(pygame 和 PyAudio勉强能用,但是效果不理想)。无奈只能想办法Google一下,找到了一篇比较基础的文章,详细的介绍了怎样用一些库来实现播放音频的功能,简单实用。为了方便以后使用,我把文章简要的翻译记录如下:

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

 

【文章大意】

用python播放声音文件很简单,下面介绍一些可以播放声音的第三方库,这些解决方案都是跨平台的,可以在windows、Mac和Linux上使用。

这些方法主要的不同点在于简单程度和支持的文件类型上,他们都支持python3环境。在编程的时候,要确保.py文件和声音文件在一个目录下,或者在代码中指定声音文件的绝对地址。

 

方法一:playsound module

playsound module是一个可以跨平台使用的库,不需要其他依赖的库,直接利用pip或者IDE的库管理功能安装就行。

from playsound import playsound

playsound(‘test.mp3’)

 

只需要上面两行代码就可以听到声音啦。可以用来播放mp3和wav文件等。

 

方法二:pydub

可以通过pip安装,pydub还能调用底层的PyAudio和ffmpeg库。

from pydub import AudioSebment

from pydub.playback import play



song = AudioSegment.from_wav(‘test.wav’)

play(song)

 

方法三:snack sound kit

这个比较强大,可以播放wav、AU、AIFF、MP3、CSL、SD、SMP和NIST/Sphere类型的文件,但是这个库已经好久没有更新维护了。

可以通过 apt install python3-tksnack 安装,老的版本名字为 python-tksnack。

这个库需要Tkinker做支撑,也就是说要使用它得先安装Tkinter。

from Tkinker import *

import tkSnack



root = Tk()

tkSnack.installzeSnack(root)



snd = tkSnack.Sound()

snd.read(‘test.mp3’)

snd.play(blocking = 1)

 

方法四:本地播放器

可以使用电脑或树莓派自身的播放器软件播放音频文件,在windows上只要指定默认的播放器即可,在Linux等上面可以通过终端安装播放软件,比如mpg123.

import os



file = ‘test.mp3’

os.system(‘mpg123’+ file)

 

【时间仓促,代码还没来得及一一测试,感兴趣的可以看下原文https://pythonbasics.org/python-play-sound/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章