mirror of
https://github.com/openharmony/third_party_alsa-utils.git
synced 2026-07-01 09:15:56 -04:00
Executable
+86
@@ -0,0 +1,86 @@
|
||||
- [三方开源软件alsa-utils](#三方开源软件alsa-utils)
|
||||
- [1. alsa-utils简介](#1-alsa-utils简介)
|
||||
- [2. 组件引入背景简述](#2-组件引入背景简述)
|
||||
- [3. 使用场景](#3-使用场景)
|
||||
- [4. 为OpenHarmony带来的价值](#4-为openharmony带来的价值)
|
||||
- [5. 如何使用](#5-如何使用)
|
||||
- [5.1 添加编译](#51-添加编译)
|
||||
- [5.2 常用命令的使用](#52-常用命令的使用)
|
||||
|
||||
## 三方开源软件alsa-utils
|
||||
### 1. alsa-utils简介
|
||||
alsa-utils作为一种HDI之外的定位工具,便于问题定界、方便对HDI不熟悉的驱动移植生态伙伴使用,包含用于ALSA的命令行实用程序。
|
||||
您可以通过[ALSA官网](http://www.alsa-project.org)了解更多关于ALSA项目的信息。
|
||||
|
||||
### 2. 组件引入背景简述
|
||||
为满足OEM生态伙伴已经支持ALSA的产品采用"ALSA兼容方案"接入OpenHarmony,而提供的命令行定位调试工具。
|
||||
|
||||
### 3. 使用场景
|
||||
只能用于已安装ALSA驱动程序和ALSA C库(ALSA -lib)的系统中使用,且只能作为独立工具使用。
|
||||
|
||||
### 4. 为OpenHarmony带来的价值
|
||||
1. 满足OEM生态伙伴中已支持的ALSA的产品快速接入OpenHarmony诉求。
|
||||
2. 降低开发者学习成本加速南向生态发展。
|
||||
|
||||
### 5. 如何使用
|
||||
#### 5.1 添加编译
|
||||
由于alsa-utils作为调试工具默认不编译打包,您可以采用以下两种方式进行编译:
|
||||
1. 如果采用Openharmony主线源码
|
||||
您可采用以下命令进行编译:
|
||||
```bash
|
||||
./build.sh --product-name [PRODUCT_NAME] --ccache --build-target third_party/alsa-utils:alsa-utils
|
||||
```
|
||||
2. 如已拉出分支需要编译打包
|
||||
在现有的OpenHarmony的文档或者子系统中有如下添加方法
|
||||
方法:在您的 bundle.json 文件 添加
|
||||
```json
|
||||
"build": {
|
||||
"sub_component": [
|
||||
"//third_party/alsa-utils:alsa-utils"
|
||||
]
|
||||
}
|
||||
```
|
||||
注意:此三方件编译需要先编译ALSA-lib
|
||||
|
||||
### 5.2 常用命令的使用
|
||||
|
||||
aplay放音XXX.wav音频文件,详细参数及使用请用“ -h” 查看
|
||||
|
||||
```bash
|
||||
aplay /data/XXX.wav
|
||||
```
|
||||
|
||||
arecord录音test.wav,其中 -d 30表示录制30s时间, -r 44100表示rate 为44100Hz, -c 2表示为双声道立体声, -t wav表示录制的音频文件是wav格式
|
||||
|
||||
```bash
|
||||
arecord -d 30 -f cd -r 44100 -c 2 -t wav test.wav
|
||||
```
|
||||
|
||||
amixer命令打开录放音通路,contents用来查看各个元素(以dayu_200开发板举例),cset来设置录放音通路:
|
||||
|
||||
```bash
|
||||
# amixer contents
|
||||
numid=2,iface=MIXER,name='Capture MIC Path'
|
||||
; type=ENUMERATED,access=rw------,values=1,items=4
|
||||
; Item #0 'MIC OFF'
|
||||
; Item #1 'Main Mic'
|
||||
; Item #2 'Hands Free Mic'
|
||||
; Item #3 'BT Sco Mic'
|
||||
: values=1
|
||||
numid=1,iface=MIXER,name='Playback Path'
|
||||
; type=ENUMERATED,access=rw------,values=1,items=11
|
||||
; Item #0 'OFF'
|
||||
; Item #1 'RCV'
|
||||
; Item #2 'SPK'
|
||||
; Item #3 'HP'
|
||||
; Item #4 'HP_NO_MIC'
|
||||
; Item #5 'BT'
|
||||
; Item #6 'SPK_HP'
|
||||
; Item #7 'RING_SPK'
|
||||
; Item #8 'RING_HP'
|
||||
; Item #9 'RING_HP_NO_MIC'
|
||||
; Item #10 'RING_SPK_HP'
|
||||
: values=6
|
||||
#amixer cset numid=1 6
|
||||
#amixer cset numid=2 1
|
||||
```
|
||||
Reference in New Issue
Block a user