01 Audio
0 Introduction
Notice
The audio output of this board includes two types: speaker and headphone. When the speaker device exists, the speaker is given priority . Therefore, if you need to use the headphone to output audio, please disconnect the speaker device.
1 Introduction to audio device interface
The audio interface of this board is as follows:

2 Audio Usage Notes
Due to the current system problem, the audio device will be occupied by the system's audio player. If you need to test the audio yourself, you need to force stop the occupation . The complete method to stop the occupation is as follows:
################## 第一遍查询并停止audio_server进程和audio_host进程 ################# ##
# 查询 audio_server 进程
lsof | grep audio_server | sed 's/^[^ ]* *\([^ ]*\).*/\1/' | sort -u #输出一个进程号
# 强制停止进程
kill -9 $audio_server_PID # $audio_server_PID是audio_server的进程号
# 查询audio_host进程
lsof | grep audio_host | sed 's/^[^ ]* *\([^ ]*\).*/\1/' | sort -u
# 强制停止进程
kill -9 $audio_host_PID # $audio_host_PID是audio_host的进程号
################## 第二遍查询并停止audio_server进程和audio_host进程 ###################
# 查询 audio_server 进程
lsof | grep audio_server | sed 's/^[^ ]* *\([^ ]*\).*/\1/' | sort -u
# 强制停止进程
kill -9 $audio_server_PID
# 查询 audio_host 进程
lsof | grep audio_host | sed 's/^[^ ]* *\([^ ]*\).*/\1/' | sort -u
# 强制停止进程
kill -9 $audio_host_PID
################## 查询audio_server进程是否存在,不存在则为操作成功 ###################
# 查询audio_server进程
lsof | grep audio_server | sed 's/^[^ ]* *\([^ ]*\).*/\1/' | sort -u
As shown in the figure:

Notice
Note: Under normal circumstances, the system will stop occupying the audio output channel after operating twice. If it cannot be closed due to incorrect operation, just re-loop until the audio_server process does not exist, which means that the occupation has stopped successfully.
3 Notes on audio file processing
Hongmeng system is a read-only file system. When performing audio testing, you need to add or generate audio files. All audio files need to be processed through mounting. The hdc tool is used to process the audio files. Enter the following command in the cmd window of the PC:
#通过hdc工具在鸿蒙设备的shell环境中,将根目录文件系统重新挂载为读写模式
hdc shell mount -o remount,rw /
hdc shell
As shown in the figure:

4 Notes on audio file processing
There are two ways to test audio. The first is to use the arecord and aplay commands in Linux to implement audio testing. The second is to use the program that comes with the Hongmeng system to test
Query audio devices
# 查询音频设备
aplay -l
As shown in the figure, the board has two available audio devices. We use card 1, which is audio device 1 and device number is 0.

Query recording equipment
# 查询录音设备
arecord -l
As shown in the figure, the board has one available audio device, card 1, which is recording device 1, and the device number is 0.

4.1 Linux command test
4.1.1 Audio playback test
After stopping the system from occupying the audio output, just enter the following command to enter the audio playback mode
# 设置 音频设备1 PCM 音量 (0-100%)
amixer -c 1 sset PCM 80%
# 播放音频
aplay -D $AUDIO_DEVICE $audio_file
# $AUDIO_DEVICE:为播放设备与通道
# $audio_file:为播放文件
# 该板卡播放音频示例
aplay -D hw:1,0 test_music.wav
As shown

4.1.2 Recording Test
The board defaults to MIC input, so when you need to test recording, you need to connect a MIC device
# 录制音频
arecord -D $AUDIO_DEVICE -f S16_LE -r 48000 -t wav -d 10 $RECAUDIO_FILE
# $AUDIO_DEVICE: 为录音设备与通道
# $RECAUDIO_FILE:生成的录音文件
# -d 10: 录制10s录音
#该板卡录制音频示例
arecord -D hw:1,0 -f S16_LE -r 48000 -t wav -d 10 record_music.wav
As shown in the figure:

4.2 Hongmeng OS built-in program test
Waiting for update...