用python编写录音机——记录一定时间的声音

先看代码👇

import pyaudio
import wave

def get_wav(sec):
    #创建对象
    pa = pyaudio.PyAudio()
    #创建流:采样位,声道数,采样频率,缓冲区大小,input
    stream = pa.open(format=pyaudio.paInt16,
                     channels=2,
                     rate=16000,
                     input=True,
                     frames_per_buffer=1024)
    #创建式打开音频文件
    wf = wave.open("test.wav", "wb")
    #设置音频文件的属性:采样位,声道数,采样频率,缓冲区大小,必须与流的属性一致
    wf.setnchannels(2)
    wf.setsampwidth(pa.get_sample_size(pyaudio.paInt16))
    wf.setframerate(16000)
    print("开始录音")
    #采样频率*秒数/缓冲区大小
    for w in range(int(16000*sec/1024)):
        data = stream.read(1024)#每次从流的缓存中读出数据
        wf.writeframes(data)#把读出的数据写入wf
    print("录音结束")
    stream.stop_stream()#先把流停止
    stream.close()#再把流关闭
    pa.terminate()#把对象关闭
    wf.close()#把声音文件关闭,否则不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值