Espressif ESP32-LyraT Docs Template Documentation page 77

Table of Contents

Advertisement

3.3.2 Design Components
Five basic components are - Audio Element, Audio Event, Audio Pipeline, ESP peripherals, ESP audio
Audio Element
Example
audio_element_handle_t el;
audio_element_cfg_t cfg
cfg.open
=
_el_open;
cfg.read
=
_el_read;
cfg.process
=
_el_process;
cfg.write
=
_el_write;
cfg.close
=
_el_close;
el
=
audio_element_init(&cfg);
TEST_ASSERT_NOT_NULL(el);
TEST_ASSERT_EQUAL(ESP_OK, audio_element_start(el));
Audio Event
Example
audio_event_handle_t evt1;
audio_event_cfg_t cfg
cfg.dispatcher
=
evt_process;
cfg.queue_size
=
10;
cfg.context
=
&evt1;
cfg.type
=
AUDIO_EVENT_TYPE_ELEMENT;
evt1
=
audio_event_init(&cfg);
TEST_ASSERT_NOT_NULL(evt1);
audio_event_msg_t msg;
int
i;
ESP_LOGI(TAG,
"[ ] dispatch 10 msg to
for
(i
=
0; i
<
10; i++) {
msg.cmd
=
i;
TEST_ASSERT_EQUAL(ESP_OK, audio_event_dispatch(evt1, &msg));
}
msg.cmd
=
10;
TEST_ASSERT_EQUAL(ESP_FAIL, audio_event_dispatch(evt1, &msg));
ESP_LOGI(TAG,
"[ ] listening 10 event have dispatched fron
while
(audio_event_listen(evt1)
Audio Pipeline
Example
audio_element_handle_t first_el, mid_el, last_el;
audio_element_cfg_t el_cfg
3.3. Software Design
=
DEFAULT_AUDIO_ELEMENT_CONFIG();
=
AUDIO_EVENT_IFACE_DEFAULT_CFG();
evt1");
==
ESP_OK);
=
DEFAULT_AUDIO_ELEMENT_CONFIG();
Read the Docs Template Documentation, Release
evt1");
73

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ESP32-LyraT and is the answer not in the manual?

Table of Contents