python录制系统声音
时间: 2023-10-12 20:20:17 浏览: 43
要在Python中录制系统声音,您需要使用一个名为PyAudio的第三方库。以下是一个简单的例子,演示如何使用此库来录制系统声音:
```python
import pyaudio
import wave
chunk = 1024 # 缓冲区大小
sample_format = pyaudio.paInt16 # 采样格式
channels = 2 # 声道数
fs = 44100 # 采样率
seconds = 5 # 录制时长
filename = "output.wav" # 输出文件名
p = pyaudio.PyAudio() # 创建PyAudio对象
stream = p.open(format=sample_format,
channels=channels,
rate=fs,
frames_per_buffer=chunk,
input=True)
frames = [] # 用于存储录制的音频
for i in range(0, int(fs / chunk * seconds)):
data = stream.read(chunk)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
# 将音频写入WAV文件中
wf = wave.open(filename, 'wb')
wf.setnchannels(channels)
wf.setsampwidth(p.get_sample_size(sample_format))
wf.setframerate(fs)
wf.writeframes(b''.join(frames))
wf.close()
```
在以上代码中,我们使用PyAudio库创建了一个PyAudio对象,并使用`p.open()`方法打开一个输入流来录制系统声音。我们将录制的音频数据存储在`frames`数组中,并将其写入WAV文件中。
请注意,上述代码需要在具有录音设备的计算机上运行,例如带有内置麦克风的笔记本电脑。如果您在虚拟机或没有录音设备的计算机上运行代码,将会出现错误。