Python从零开始实现音频播放与录音的完整教程
时间:2026-06-02 | 作者:318050 | 阅读:0音频播放
快速播放:使用 playsound
Python 提供了多个音频处理库。其中 playsound 是最简单的方案。安装后,两行代码即可播放音频:
from playsound import playsound
playsound('your_audio_file.mp3')
将 your_audio_file.mp3 替换为实际文件路径。这种方式控制力有限,适合快速测试。
精细控制:使用 pyaudio
如需调节音量、控制声道或处理实时流,需用 pyaudio。它提供底层接口。播放 WAV 文件时,需配合 wa ve 模块:
import pyaudio
import wa ve
# 打开音频文件
wf = wa ve.open('your_audio_file.wa v', 'rb')
# 初始化pyaudio
p = pyaudio.PyAudio()
# 打开音频流
stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)
# 读取数据并播放
data = wf.readframes(1024)
while data:
stream.write(data)
data = wf.readframes(1024)
# 收尾清理
stream.stop_stream()
stream.close()
p.terminate()
逻辑清晰:先读取 WAV 参数,再用参数打开输出流。循环读取数据块并写入流,最后关闭资源。这是许多音频处理工具的基础。
音频录音
使用 pyaudio 录制音频
pyaudio 同样支持录音——将输出流改为输入流即可。下面是录制 5 秒音频的示例:
import pyaudio
import wa ve
# 参数设置
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
WA VE_OUTPUT_FILENAME = "recorded_audio.wa v"
# 初始化pyaudio
p = pyaudio.PyAudio()
# 打开输入流
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
# 停止并关闭
stream.stop_stream()
stream.close()
p.terminate()
# 保存为WA V文件
wf = wa ve.open(WA VE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
关键参数说明:
- FORMAT:16 位采样
- RATE:44100 Hz(CD 音质)
- CHUNK:缓冲区大小
循环从麦克风读取数据块,拼接到 frames 列表。最后用 wa ve 模块写入文件。如需延长录音时间,修改 RECORD_SECONDS 即可。
总结:从播放到录音
Python 覆盖了音频处理的基本场景。无论是构建语音助手前端,还是为多媒体项目搭建基础工具,这些代码都是很好的起点。后续可延伸至实时处理、混音或音频分析。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 在Python的IDLE集成开发环境中安装第三方库的完整步骤
- 时间:2026-06-01
-
- Python split函数用法详解:字符串分割技巧与实例教程
- 时间:2026-05-23
-
- Python列表反转排序方法详解
- 时间:2026-05-23
-
- Python创建集合对象的几种常用方法
- 时间:2026-05-20
-
- Python创建新目录的详细方法与步骤
- 时间:2026-05-20
-
- Python创建Counter对象的三种常用方法详解
- 时间:2026-05-20
-
- Python队列创建方法与实例详解
- 时间:2026-05-20
-
- Python创建元组的三种常用方法详解
- 时间:2026-05-20
精选合集
更多大家都在玩
大家都在看
更多-
- 守护花之窗结局如何触发
- 时间:2026-06-02
-
- 免费音乐软件推荐 好用的免费音乐APP有哪些
- 时间:2026-06-02
-
- 免费听小说软件推荐 好用听书app下载
- 时间:2026-06-02
-
- 正品买鞋APP推荐 热门正版软件下载
- 时间:2026-06-02
-
- 突破音障不制造巨响!NASA宣布静音超音速飞机X-59本月首次试飞
- 时间:2026-06-02
-
- AI图片真假识别与深度伪造检测工具推荐
- 时间:2026-06-02
-
- 2024热门交友软件推荐:高口碑社交APP哪个好用
- 时间:2026-06-02
-
- 追逐卡蕾多普罗米怎么样
- 时间:2026-06-02