如何使用Python播放音频?

0 股票
0
0
0
0

介绍

本文将介绍如何使用一些最流行的音频库在 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
发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢