Python录制和播放音频
Posted 何小有
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python录制和播放音频相关的知识,希望对你有一定的参考价值。
使用 Python 播放音频直接使用内置包中的 winsound
模块即可:
from winsound import PlaySound
PlaySound('output.wav', flags=1)
使用 Python 录制音频则需要用到第三方的 PyAudio 库:
import wave
import pyaudio
record_seconds = 10 # 需要录制的时间
rate = 16000 # 录音时的采样率
wave_output_filename = 'listen.wav' # 保存的文件名
chunk = 1024 # 每个缓冲区的帧数
format = pyaudio.paInt16 # 采样大小和格式
channels = 1 # 通道数
pa = pyaudio.PyAudio() # 初始化端口音频系统资源
stream = pa.open(
format=format,
channels=channels,
rate=rate,
input=True, # 指定当前为输入流
frames_per_buffer=chunk,
) # 开启流
frames = [] # 音频帧列表
for i in range(0, int(rate / chunk * record_seconds)):
data = stream.read(chunk)
frames.append(data) # 开始录音
stream.stop_stream() # 停止流
stream.close() # 关闭流
pa.terminate() # 释放端口音频系统资源
wf = wave.open(wave_output_filename, 'wb') # 生成 wav_write 对象
wf.setnchannels(channels) # 设置对象通道数
wf.setsampwidth(pa.get_sample_size(format)) # 设置对象采样字节长度
wf.setframerate(rate) # 设置对象采样频率
wf.writeframes(b''.join(frames)) # 写入音频帧并确保正确性
wf.close() # 关闭 wav_write 对象
以上是关于Python录制和播放音频的主要内容,如果未能解决你的问题,请参考以下文章