在Python中播放声音
在本文中,我们将看到如何使用一些最流行的音频库在Python中播放声音。我们将了解播放声音的各种方法。
方法一:使用playsound模块
运行以下命令来安装软件包:
pip install playsound
- playsound模块只包含一个名为playsound()的函数。
- 它需要一个参数:包含我们必须播放的声音的文件的路径。它可以是本地文件或URL 。
- 有一个可选的第二个参数block ,默认情况下设置为True 。我们可以将它设置为False以使函数异步运行。
- 它适用于WAV和MP3文件。
示例:对于 WAV 格式
Python3
# import required module
from playsound import playsound
# for playing note.wav file
playsound('/path/note.wav')
print('playing sound using playsound')
Python3
# import required module
from playsound import playsound
# for playing note.mp3 file
playsound('/path/note.mp3')
print('playing sound using playsound')
Python3
# import required modules
from pydub import AudioSegment
from pydub.playback import play
# for playing wav file
song = AudioSegment.from_wav("note.wav")
print('playing sound using pydub')
play(song)
Python3
# import required module
from pydub import AudioSegment
from pydub.playback import play
# for playing mp3 file
song = AudioSegment.from_mp3("note.mp3")
print('playing sound using pydub')
play(song)
Python3
# 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)
Python3
# import required module
import os
# play sound
file = "note.wav"
print('playing sound using native player')
os.system("afplay " + file)
Python3
# import required module
import os
# play sound
file = "note.mp3"
print('playing sound using native player')
os.system("mpg123 " + file)
Python3
# 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()
输出:
示例:对于 mp3 格式
蟒蛇3
# import required module
from playsound import playsound
# for playing note.mp3 file
playsound('/path/note.mp3')
print('playing sound using playsound')
输出:
方法二:使用pydub模块
运行以下命令来安装软件包:
sudo apt-get install ffmpeg libavcodec-extra
pip install pydub
注意:您可以使用Python打开 WAV 文件。要打开 mp3,您需要 ffmpeg 或 libav 。
该模块使用from_wav()方法播放 wav 文件和from_mp3()方法播放 mp3 文件。 play()方法用于播放 wav 和 mp3 文件:
示例 1:对于 WAV 格式
蟒蛇3
# import required modules
from pydub import AudioSegment
from pydub.playback import play
# for playing wav file
song = AudioSegment.from_wav("note.wav")
print('playing sound using pydub')
play(song)
输出:
示例 2:对于 mp3 格式
蟒蛇3
# import required module
from pydub import AudioSegment
from pydub.playback import play
# for playing mp3 file
song = AudioSegment.from_mp3("note.mp3")
print('playing sound using pydub')
play(song)
输出:
方法 3:使用tksnack模块
tksnack模块依赖于名为tkinter的模块来激活Python脚本中的tk对象。您必须为Python安装tkinker和tksnack包。运行以下命令来安装软件包:
sudo apt-get install python3-tk
sudo apt-get install python3-tksnack
play()方法用于播放音频文件。阻塞参数声明声音将异步播放。
例子:
蟒蛇3
# 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)
输出:
方法四:使用原生播放器
在这种方法中,我们在系统上本地播放声音。此方法使用安装在终端上的外部播放器播放音频文件。
示例 1:对于 Mac OS X
蟒蛇3
# import required module
import os
# play sound
file = "note.wav"
print('playing sound using native player')
os.system("afplay " + file)
输出:
示例 2:对于 Linux
蟒蛇3
# import required module
import os
# play sound
file = "note.mp3"
print('playing sound using native player')
os.system("mpg123 " + file)
输出:
方法五:使用simpleaudio模块
这主要是为了播放WAV文件和NumPy 数组。运行以下命令来安装软件包:
$ sudo apt-get install libasound2-dev
$ pip3 install simpleaudio
play()方法用于播放音频文件。
例子:
蟒蛇3
# 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()
输出: