环境
- windows 10 64位
- anaconda with python 3.8
- playsound 1.3.0
视频看这里
Youtube
Bilibili
前言
前文 Python文字语音播报 介绍过使用库 pyttsx3
来实现语音的播报。pyttsx3
接收的是字符串,也就是文本,本文介绍是另外一个库 playsound
,它播报的内容来自语音文件,比如 mp3
文件。playsound
支持多平台,仅仅依赖于 python
。
安装
官方给出的安装方法是
pip install playsound
但是我在执行的时候,发现报错了,提示去下载其对应的源码包
那就去下载吧,完成后进行解压,我这里安装过 git
的工具,所有就直接使用 git shell
来操作了,它模拟的是 linux
的环境,就可以直接使用 tar
命令进行解压
然后,我们切换到目标 python
虚拟环境,进入到源码目录,使用命令
pip install .
进行安装
使用
安装好后,使用起来非常简单
from playsound import playsound
playsound('play.mp3')
playsound
方法还有一个可选参数 block
,是个布尔类型,默认是 True
,如果是 False
,代表的是异步执行
原理
由于各平台底层音频播放的机制不同,playsound
也是调用的各自平台自身的方法,并没有引入全新的机制
-
windows
使用的是
windll.winmm
,已经通过测试的格式包括了wav
和mp3
-
macos
使用的是
AppKit.NSSound
,已经通过测试的格式包括了wav
和mp3
,一般来讲,QuickTime
能播的,playsound
也能播 -
linux
使用的是
GStreamer
,由于linux
的发行版实在太多,作者也说没有完全测试,有问题可以提交issue
或pr
Python实用模块专题
更多有用的 python
模块,请移步
https://xugaoxiang.com/category/python/modules/