介绍
本文将介绍如何使用一些最流行的音频库在 Python 中播放音频。我们将学习不同的音频播放方法。.
方法一:使用 playsound 模块
要安装这些软件包,请运行以下命令:
pip install playsound
- playsound 模块只包含一个名为 playsound() 的函数。.
- 它接受一个参数:要播放的声音文件的路径。这可以是本地文件,也可以是 URL。.
- 还有一个可选的第二个参数 block,默认值为 True。我们可以将其设置为 False 以异步执行该函数。.
- 支持WAV和MP3文件。.
# 导入所需模块 from playsound import playsound # 用于播放 note.wav 文件 playsound('/path/note.wav') print('使用 playsound 播放声音')روش 2: استفاده از ماژول pydub
运行以下命令安装软件包:
sudo apt-get install ffmpeg libavcodec-extra
pip install pydubاین ماژول از متد from_wav() برای پخش فایل wav و از متد from_mp3() برای پخش فایل mp3 استفاده می کند. متد play() برای پخش فایل های wav و mp3 استفاده می شود:
# 导入所需模块 from pydub import AudioSegment from pydub.playback import play # 用于播放 mp3 文件 song = AudioSegment.from_mp3("note.mp3") print('使用 pydub 播放声音') play(song)روش 3: استفاده از ماژول tksnack
tksnack 模块依赖于名为 tkinter 的模块,以便在 Python 脚本中启用 tk 对象。您需要为 Python 安装 tkinter 和 tksnack 软件包。要安装这些软件包,请运行以下命令:
sudo apt-get install python3-tk
sudo apt-get install python3-tksnackاز متد play() برای پخش فایل های صوتی استفاده می شود. آرگومان مسدود کننده بیان می کند که صدا به صورت ناهمزمان پخش می شود.
# import required modules
from Tkinter import *
import tkSnack
# initialize tk object to use tksnack
root = Tk()
tkSnack.initializeSnack(root)
# play sound
snd = tkSnack.Sound()
snd.read('note.wav')
print('playing sound using tkSnack')
snd.play(blocking=1)方法四:使用原生播放器
这种方法可以直接在系统上播放声音。另一种方法是通过安装在终端上的外部播放器播放音频文件。.
# import required module
import os
# play sound
file = "note.wav"
print('playing sound using native player')
os.system("afplay " + file)روش 5: استفاده از ماژول ساده صوتی
它主要用于播放 WAV 文件和 NumPy 数组。要安装软件包,请运行以下命令:
$ sudo apt-get install libasound2-dev
$ pip3 install simpleaudioاز متد play() برای پخش فایل های صوتی استفاده می شود.
# import required module
import simpleaudio as sa
# define an object to play
wave_object = sa.WaveObject.from_wave_file('note.wav)
print('playing sound using simpleaudio')
# define an object to control the play
play_object = wave_object.play()
play_object.wait_done()g









