在学习这一章节之前,我们要安装好pyaudio库,详细安装方法可以参考https://blog.csdn.net/qq_45030271/article/details/106304364
1.加载所需要的安装库
import pyaudio
import wave
2.定义一个函数
def start_audio(time = 3,save_file="test.wav"):
3.导入所需要的参数
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 16000
RECORD_SECONDS = time #需要录制的时间
WAVE_OUTPUT_FILENAME = save_file #保存的文件名
4.初始化pyaudio
p = pyaudio.PyAudio() #初始化
5.录音相关代码
print("ON")
stream = p.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()
p.terminate()
print("OFF")
6.写入文件
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') #保存
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
7.开始函数执行
start_audio()
我们可以看到创建成功了一个wav文件
8.文件全部代码
import pyaudio
import wave
def start_audio(time = 3,save_file="test.wav"):
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 16000
RECORD_SECONDS = time #需要录制的时间
WAVE_OUTPUT_FILENAME = save_file #保存的文件名
p = pyaudio.PyAudio() #初始化
print("ON")
stream = p.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)#开始录音
print("OFF")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') #保存
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
start_audio()