如何在Python中播放和录制音频(代码实现示例)

Python如何播放和录制音频?本文带你了解如何在 Python 中使用不同的库(如 Playsound、Pydub 和 PyAudio)播放和录制声音文件。
如何在Python中播放和录制音频?许多应用程序可以录制你的声音并播放声音,如果你也想这样做,那么你来对地方了,在本教程中,我们将使用不同的 Python 库在 Python 中播放和录制音频.
让我们安装本教程所需的库:

pip3 install playsound pyaudio pydub ffmpeg-python

Python播放音频:音频播放器首先,我们将从这里最简单的模块开始,playsound:
from playsound import playsoundplaysound("audio_file.mp3")

是的,这就是这个模块所需要的,它基本上是一个纯 Python、跨平台、单一功能的模块。该文件说,WAV和MP3扩展已知的工作,它可能为其他格式正常工作。
playsound()函数播放音频文件中的声音并阻塞直到文件读取完成,你可以通过block=False使函数异步运行。
另一种选择是使用Pydub库,Python播放和录制音频示例代码如下:
from pydub import AudioSegment from pydub.playback import play# read MP3 file song = AudioSegment.from_mp3("audio_file.mp3") # song = AudioSegment.from_wav("audio_file.wav") # you can also read from other formats such as MP4 # song = AudioSegment.from_file("audio_file.mp4", "mp4") play(song)

【如何在Python中播放和录制音频(代码实现示例)】注意:你需要在你的机器上安装FFmpeg才能使用支持 FFmpeg 支持的所有格式的AudioSegment.from_file()函数。
Python如何播放和录制音频?Pydub 是一个非常流行的库,因为它不仅用于播放声音,你还可以将其用于不同的目的,例如转换音频文件、切片音频、增大或减小音量等等,请查看他们的存储库以获取更多信息。
如果你想使用 PyAudio 播放音频,请查看此链接。
相关:  如何在 Python 中从视频中提取音频。
Python录制音频:录音机如何在Python中播放和录制音频?为了录制语音,我们将使用 PyAudio 库,因为它是最方便的方法:
import pyaudio import wave# the file name output you want to record into filename = "recorded.wav" # set the chunk size of 1024 samples chunk = 1024 # sample format FORMAT = pyaudio.paInt16 # mono, change to 2 if you want stereo channels = 1 # 44100 samples per second sample_rate = 44100 record_seconds = 5 # initialize PyAudio object p = pyaudio.PyAudio() # open stream object as input & output stream = p.open(format=FORMAT, channels=channels, rate=sample_rate, input=True, output=True, frames_per_buffer=chunk) frames = [ ] print("Recording...") for i in range(int(44100 / chunk * record_seconds)): data = https://www.lsbin.com/stream.read(chunk) # if you want to hear your voice while recording # stream.write(data) frames.append(data) print("Finished recording.") # stop and close stream stream.stop_stream() stream.close() # terminate pyaudio object p.terminate() # save audio file # open the file in 'write bytes' mode wf = wave.open(filename, "wb") # set the channels wf.setnchannels(channels) # set the sample format wf.setsampwidth(p.get_sample_size(FORMAT)) # set the sample rate wf.setframerate(sample_rate) # write the frames as bytes wf.writeframes(b"".join(frames)) # close the file wf.close()

上面的Python播放和录制音频示例代码中,它基本上初始化了PyAudio对象,然后我们打开了一个流对象,允许我们使用stream.read()方法从麦克风录音。录制完成后,我们使用内置的wave模块将那个WAV音频文件写入磁盘。
当你在p.open()方法中设置input=True时,你将能够使用stream.read()从麦克风读取。此外,当你设置output=True 时,你将能够使用stream.write()写入扬声器。
结论Python如何播放和录制音频?在本教程中,你学习了如何使用playsound、Pydub和PyAudio库播放音频文件以及使用 PyAudio 录制语音。
对你来说一个巨大的挑战是将它与屏幕录像机结合起来,你会想出一个同时记录你的声音和屏幕的 Python 工具,你需要使用一个记录音频的线程,另一个用于屏幕录音师,祝你好运!

    推荐阅读