From 9c70b0ccc4b163d4c1d0df99042221128a7745a9 Mon Sep 17 00:00:00 2001 From: hwzhangchuang Date: Tue, 4 Apr 2023 17:15:39 +0800 Subject: [PATCH] modify readme Signed-off-by: hwzhangchuang --- README_zh.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/README_zh.md b/README_zh.md index 4dd0c474..c30cc88a 100644 --- a/README_zh.md +++ b/README_zh.md @@ -2,11 +2,12 @@ ## **简介** -分布式音频是指多个设备的音频协同使用能力,如将设备A的音频通过设备B的Speaker进行播音,或者设备A使用设备B的Mic进行录音。分布式音频不直接向应用提供接口,应用可以通过[音频框架](https://gitee.com/openharmony/multimedia_audio_framework)的接口来使用分布式音频,从而操作其他设备的音频外设实现播音和录音,使用方式与本地音频一致。 +分布式音频是指多个设备之间音频外设跨设备协同使用的能力,如将设备A的音频通过设备B的Speaker进行播音,或者设备A使用设备B的Mic进行录音。 +分布式音频不直接向应用提供接口,应用可以通过[音频框架](https://gitee.com/openharmony/multimedia_audio_framework)的接口来调用分布式音频能力,使用方式与本地音频一致。 ### **概念说明** -**主控端(source)**:控制端,通过分布式音频向被控端设备发送命令,实现在被控端设备上音频播放、录制功能; -**被控端(sink)**:被控制端,接收来自主控端设备的命令,使本地音频外设为主控端设备所用,用来播音或录音。 +**主控端(source)**:分布式音频控制端设备,向被控端设备发送指令,实现在被控端设备上音频播放和录制的功能; +**被控端(sink)**:分布式音频被控制端设备,接收来自主控端设备的指令,使本地音频外设为主控端设备所用,用来播音或录音。 ### **架构实现** @@ -14,11 +15,11 @@ ![](figures/distributedaudio_arch.png) -**分布式音频框架实现(DistributedAudioFwkImpl)**:为分布式硬件管理框架提供分布式音频初始化、释放、使能、去使能能力,以及音频设备配置参数能力。 +**分布式音频框架实现(DistributedAudioFwkImpl)**:实现[分布式硬件管理框架](https://gitee.com/openharmony/distributedhardware_distributed_hardware_fwk)定义的南向外设扩展接口,提供分布式音频初始化、释放、使能、去使能以及音频设备参数配置接口的实现。 -**主控端分布式音频设备抽象(DAudioSourceDevice)**:被控端设备在主控端设备的抽象,实现被控端音频设备音量、焦点、媒体键事件的控制。当执行录音功能时,该模块接收从被控端设备传来的音频编码数据,完成解码操作后,将音频流送给主控端音频框架。当执行放音功能时,该模块接收主控端音频框架的音频流,并对其进行编码处理,将处理后的编码数据发送给被控端设备。 +**主控端分布式音频设备抽象(DAudioSourceDevice)**:被控端设备的音频外设在主控端设备的抽象代理,实现被控端音频外设音量、焦点、媒体键事件的控制。当执行录音功能时,该模块接收从被控端音频外设录音并编码后传来的编码数据,完成解码后,将音频流送给主控端音频框架。当执行放音功能时,该模块接收主控端音频框架的音频流,并对其进行编码处理,将处理后的编码数据发送给被控端设备。 -**被控端分布式音频设备抽象(DAudioSinkDevice)**:主控端设备在被控端设备的代理,实现对主控端发送的音量、焦点、媒体键事件的响应和处理。当执行录音功能时,该模块接受本地采集音频流,进行编码处理后,将编码数据发送给主控端设备。当执行放音功能时,该模块接收从主控端设备传来的音频流数据,完成解码操作,送给本地音频框架进行播放。 +**被控端分布式音频设备抽象(DAudioSinkDevice)**:主控端设备的音频外设在被控端设备的代理,实现对主控端发送的音量、焦点、媒体键事件的响应和处理。当执行录音功能时,该模块接受本地采集音频流,进行编码处理后,将编码数据发送给主控端设备。当执行放音功能时,该模块接收从主控端设备传来的音频流数据,完成解码操作,送给本地音频框架进行播放。 **分布式音频主控端控制模块(DAudioSourceCtrlMgr)**:负责响应被控端设备媒体键事件、主控端设备与被控端设备之间音量同步、响应被控端设备音频焦点状态等任务的处理。 @@ -35,11 +36,12 @@ **HDF分布式音频设备驱动实体(Audio Adapter)**:是远端设备在驱动层的抽象,负责执行和转发具体驱动层的事件。 ### **场景说明** -两台设备完成组网后,主控端设备就可以查询到被控端设备,并像使用本地音频一样使用被控端设备的音频外设完成播音和录音。被控端设备下线即组网关系断开后,将会无法查询到被控端设备。 +两台设备完成组网后,分布式硬件管理框架将两台设备音频外设纳入硬件资源池统一管理,两台设备可以互相发现对端设备的音频外设,并像使用本地音频外设一样使用被控端设备的音频外设完成播音和录音。 +如果两台设备组网断开或者可信关系被删除,会触发设备下线,分布式硬件管理框架清理下线设备的分布式音频外设,此时无法查询到对端设备音频外设。 ### **流程说明** #### **1. 设备组网上线** -设备组网后,分布式硬件管理框架同步到上线设备的音频硬件信息并对所上线的音频外设进行使能,使能成功后在系统中会新增分布式音频驱动并通知到音频框架,音频框架统一管理本地音频和分布式音频驱动;上层应用通过音频框架接口可以查询到分布式音频设备。 +设备组网后,分布式硬件管理框架同步到上线设备的音频外设硬件规格信息,根据上线设备音频外设规格信息在本地注册分布式音频驱动,注册成功后在系统中会新增分布式音频驱动,并通知到音频框架,音频框架统一管理本地音频和分布式音频驱动;上层应用通过音频框架接口可以查询到分布式音频设备。 #### **2. 设备使用** 应用可以通过音频框架接口使用分布式音频的能力,调用被控端设备的Speaker进行播音,或者调用被控端设备的Mic进行录音。 -- Gitee