马春杰杰 Exit Reader Mode

macOS如何使用Python录音?

1 首先安装pyaudio

brew install portaudio
pip install pyaudio

如果不知道如何安装brew,可以参考:

2 运行程序:

#录音程序
import pyaudio
import wave

# 一次读取数据流的数据量,避免一次性的数据量大大
CHUNK = 1024
# 采样精度
FORMAT = pyaudio.paInt16
# 声道数
CHANNELS = 1
# 采样频率
RATE = 11025
# 录音时长,单位秒
RECORD_SECONDS = 10
P = pyaudio.PyAudio()
stream = P.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)
    print(data)
    frames.append(data)
# 录音结束
print("*finish")

stream.stop_stream()
stream.close()
P.terminate()
wf = wave.open("outputB.wav", 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(P.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b' '.join(frames))
wf.close()

需要注意的是,如果直接运行,有可能会出现录制完成,但是没有声音的情况。

这主要是由于录音权限造成的,你用的IDE没有获取到macOS下的录音权限,这时,比较推荐在终端下直接使用python xxx.py来运行~

本文最后更新于2023年2月13日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!