录音

准备

硬件:

  • FireBeetle-ESP32 × 1
  • FireBeetle Covers-Camera&Audio Media Board模块 × 1 (点击查看模块详情)
  • SD卡 × 1
  • 注意:模块上板载麦克风,如果外接麦克风,板载麦克风将被禁用

软件:

  • uPyCraft IDE

代码位置:

  • File → Examples → Audio → recorder.py

实验步骤

1. 下载运行 recorder.py 文件,具体代码如下

#硬件平台:FireBeetle-ESP32

from machine import IIS
from machine import Pin
import time

recorder = IIS(IIS.RECORDER)                        #创建iis音频接口对象
button = Pin(16, Pin.IN)

def mycb(path):
  print("callback : record " + path + " is done ")

recorder.init()                                     #初始化录音
recorder.set_nchannels(2)                           #设置录音通道
recorder.set_sampwidth(16)                          #设置样本宽度
recorder.set_framerate(16000)                       #设置样本频率
recorder.record('/sd//dir1///dir2/hidfrobot.wav')   #设置录音的存储地址
recorder.set_endcallback(mycb)                      #设置录音完成回调函数

#捕获异常,如果意外中断,停止录音
try:
  while True:
    if button.value() == 0:                         #按钮按下,停止录音
      recorder.stop()
    elif recorder.get_busy() == False:              #如果录音停止了,结束程序
      print("record finished")
      break
except:
  recorder.stop()

2. 运行后开始录音,按下模块上的user按钮即可停止录音,如下图

实验效果

results matching ""

    No results matching ""