是的,Python的PyAudio库可以录制指定时长的音频。您可以使用pyaudio.PyAudio()
类创建一个音频流,并使用start_stream()
方法开始录制。然后,您可以使用sleep()
函数等待指定的时长,最后使用stop_stream()
方法停止录制。以下是一个示例代码:
import pyaudio import time CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 44100 RECORD_SECONDS = 5 p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print("开始录音...") frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = https://www.yisu.com/ask/stream.read(CHUNK)"录音完成。") stream.stop_stream() stream.close() p.terminate() wf = wave.open("output.wav", 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close()
在这个示例中,RECORD_SECONDS
变量设置为5,这意味着录音将持续5秒钟。您可以根据需要更改此值以录制所需的时长。