完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教一下ESP32-LyraT 4.2板载AUX_IN的使用方法.
运行官方例程 pipeline_amr_sdcard ,通过板载MIC录音. 可以将声音录制到SD卡上. 但如果声源来自aux_in接口, 则录音没有成功. 问题表现为SD卡上有生成amr文件, 但amr文件是静音的,并没有声响. 请问如果录音声源来自AUX_IN接口,是否需要通过先调用什么API接口,才能录制来自AUX_IN的声源? (或者是其它什么问题吗?) |
|
相关推荐
1个回答
|
|
要使用ESP32-LyraT 4.2板载AUX_IN接口进行录音,您需要按照以下步骤操作:
1. 首先,确保您的硬件连接正确。将AUX_IN接口的输入信号连接到相应的音频源。 2. 在您的代码中,您需要配置ESP32的I2S接口以接收来自AUX_IN的音频信号。这可以通过调用`i2s_config_t`结构体来实现。例如: ```c i2s_config_t i2s_config = { .mode = I2S_MODE_MASTER | I2S_MODE_RX, // 设置为接收模式 .sample_rate = 44100, // 设置采样率 .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, // 设置采样位宽 .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, // 设置声道格式 .communication_format = I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB, .intr_alloc_flags = 0, // 中断分配标志 .dma_buf_count = 8, // DMA缓冲区数量 .dma_buf_len = 1024 // DMA缓冲区长度 }; ``` 3. 使用`i2s_driver_install`函数安装I2S驱动: ```c i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL); ``` 4. 接下来,您需要配置音频流水线。在`pipeline_amr_sdcard`例程中,您需要将输入源从板载MIC更改为AUX_IN。这可以通过修改`audio_element_handle_t`的配置来实现。例如: ```c audio_element_cfg_t i2s_reader_cfg = { .tag = "i2s", .uri = "i2s", .type = AUDIO_ELEMENT_TYPE_READER, .task_core = 1, .resample = 0, .downmix = 0, .mixed = 0, .handle = &i2s_reader, .stack_in_ext = 0, .buffer_len = 4000, .ringbuf_len = 4000, .on_event = i2s_read_event_handler, .open = i2s_open, .read = i2s_read, .close = i2s_close, .unload = i2s_unload, .set_param = i2s_set_param, .version = 1, .out_rb_size = 0, .out_rb_buf = NULL, .user_data = (void *) &i2s_config, }; ``` 5. 最后,确保您的音频元素连接正确,并且音频数据可以流经整个流水线。 通过以上步骤,您应该可以使用AUX_IN接口录制音频。如果仍然遇到问题,请检查您的硬件连接和代码配置是否正确。 |
|
|
|
只有小组成员才能发言,加入小组>>
541浏览 6评论
453浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
434浏览 5评论
436浏览 4评论
409浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 06:22 , Processed in 0.725451 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号