====== Edge2 and ES8316 Audio Usage ======
ES8316 codec usage require [[https://www.khadas.com/product-page/edge2-io-module|Edge2 IO extension board]].
===== Alsa audio device HW name =====
Access to **ES8316** codec will be available by ''hw:CARD=rockchipes8316c'' alsa audio device HW name, for example: ''aplay -D **hw:CARD=rockchipes8316c** ... ''
```shell print ES8316 hw name
~# aplay -L | grep rockchipes8316c -m1
hw:CARD=rockchipes8316c,DEV=0
~# arecord -L | grep rockchipes8316c -m1
hw:CARD=rockchipes8316c,DEV=0
```
===== Alsa audio device HW index =====
```shell print ES8316 hw index
~# arecord -l | grep es8316-codec -A2
card 3: rockchipes8316c [rockchip,es8316-codec], device 0: fe470000.i2s-ES8316 HiFi ES8316 HiFi-0 [fe470000.i2s-ES8316 HiFi ES8316 HiFi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
~# aplay -l | grep es8316-codec -A2
card 3: rockchipes8316c [rockchip,es8316-codec], device 0: fe470000.i2s-ES8316 HiFi ES8316 HiFi-0 [fe470000.i2s-ES8316 HiFi ES8316 HiFi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
```
The sound **card 3** is the ES8316 device and audio device HW index is ''3''.
===== Record from ES8316 =====
```
arecord -D hw:CARD=rockchipes8316c -f cd -d 20 record.wav
```
or by audio device HW index (will be ''3'' for this example)
```shell
arecord -D hw:3 -f cd -d 20 record.wav
```
The headphone mic has the higher priority than the AMIC, which means if you connect the headphone then will record from the headphone mic, otherwise record from the AMIC.
===== Playback from ES8316 =====
```shell
aplay -D hw:CARD=rockchipes8316c xxx.wav
```
or by audio device HW index (will be ''3'' for this example)
```shell
aplay -D hw:3 xxx.wav
```
The headphone has the higher priority than the speaker, which means if you connect the headphone then will play from the headphone, otherwise play from the speaker.