def record(self,
record_seconds,
chunk=1024,
format=pyaudio.paInt16,
channels=2,
rate=16000,
output_path=None):
stream = self.__pyaudio.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)
'''??????'''
frames.append(stream.read(rate * record_seconds - int(rate / chunk * record_seconds) * chunk))
print('Done.')
stream.stop_stream()
stream.close()
self.__pyaudio.terminate()
'''????'''
print('Saving ...')
wav = wave.open(output_path, 'wb')
wav.setnchannels(channels)
wav.setsampwidth(self.__pyaudio.get_sample_size(format))
wav.setframerate(rate)
wav.writeframes(b''.join(frames))
wav.close()
print('Done.')
评论列表
文章目录