Pyaudio非阻塞式录音

问题


解决

  • 使用Pyaudio提供非阻塞式,在回调函数中进行数据储存

  • 录音部分代码

	p = pyaudio.PyAudio()
    
    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
    wf.setnchannels(1)
    wf.setsampwidth(p.get_sample_size(FORMAT))  
    wf.setframerate(RATE)
    
    def callback(in_data,frame_count,time_info,status):
        wf.writeframes(in_data)
        return(in_data,pyaudio.paContinue)

    stream = p.open(format=FORMAT,
                     channels=1, 
                     rate=RATE,
                     input=True,
                     frames_per_buffer=CHUNK,
                     stream_callback=callback)

    print("recing...")
    
    stream.start_stream()
    
    time.sleep(RECORD_SECONDS)

    stream.stop_stream()
    stream.close()
    p.terminate()
    
    print "录音结束"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值