python录制视频和声音_python录制系统声音

  • Post author:
  • Post category:python


环境准备

python

wave

pyaudio

wave 可以通过pip直接install,在安装pyaudio时,通过正常的pip install 直接安装一直处于报错阶段,后来想到可以通过轮子直接安装。

在pypi提供的安装包中有对应的安装包,注意,不仅仅是python2和python3的区别,python3的小版本也有点差别。可杯具的是,小主电脑里装的是python3.8,后来想到还有一个网站可以安装pythonlibs,找到对应的版本后,下载下来。直接在文件所在目录,或者在安装中指定文件目录中执行安装

pip install /c/Users/root/Downloads/PyAudio-0.2.11-cp38-cp38-win_amd64.whl

代码和运行

def audio_record(out_file, rec_time):

CHUNK = 1024

FORMAT = pyaudio.paInt16 # 16bit编码格式

CHANNELS = 1 # 单声道

RATE = 16000 # 16000采样频率

p = pyaudio.PyAudio()

# 创建音频流

dev_idx = findInternalRecordingDevice(p)

stream = p.open(format=FORMAT, # 音频流wav格式

channels=CHANNELS, # 单声道

rate=RATE, # 采样率16000

input=True,

input_device_index=dev_idx, # 指定内录设备的id,可以不写,使用win的默认录音设备

frames_per_buffer=CHUNK)

print(“Start Recording…”)

frames = [] # 录制的音频流

# 录制音频数据

for i in range(0, int(RATE / CHUNK * rec_time)): # 控制录音时间

data = stream.read(CHUNK)

frames.append(data)

# 录制完成

stream.stop_stream()