9 君正音频采集的封装

概述

        在IPC中,需要将设备端的声音采集后进行编码,然后发送给客户端或者监控平台。君正SDK中的音频功能包括5个模块,分别是:音频输入、音频输出、回声消除、音频编码和音频解码。其中,音频输入和音频输出存在设备(Device)和通道(Channel)的概念。一个MIC被认为是一个录音Device,而一个MIC可以有多路Channel输入。同样的,一个SPK被认为是一个放音Device,而一个SPK也可以有多路Channel输出。在当前版本的音频API中,一个Device只支持一个Channel。

        音频codec分为:内部codec和外部codec,内部codec又分为:数字dmic和模拟amic。目前君正的音频API仅支持G711A、G711U、ADPCM、G726等格式的音频编码算法,如果需要支持新的编码算法,可以通过内部的注册机制来注册自定义的音频编码器(注册自定义音频编码器,已在前面章节中介绍)。有一点需要特别注意:君正SDK支持的ADPCM编码算法为ADPCM_ORG_DVI4格式,与安防监控中常用的ADPCM_DVI格式不兼容。前面几节介绍的底层API接口的封装中,已经通过注册机制支持了ADPCM_DVI格式编码算法,并支持AAC编码算法。

音频采集接口类

        与视频采集接口相比,音频采集接口显得简单不少。音频采集接口类主要包含以下接口:

        1、初始化接口,用于传入初始化参数。

        2、启用音频编码。启用后,编码后的音频帧会通过初始化参数中的回调函数提供给应用层。

        3、禁用音频编码。

        4、设置编码信息&

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础教程】(四十四)IO篇 · 上:解析Java文件操作——File类、字节流与字符流,分析字节输出流、字节输入流、字符输出流和字符输入流的区别

Java基础教程之IO操作 上 🔹本节学习目标1️⃣ 文件操作类:File2️⃣ 字节流与字符流2.1 字节输出流:OutputStream2.2 字节输入流:InputStream2.3 字符输出流:Writer2.4 字符输入流:Reader2.5 字节流与字符…

力扣27 26 283 844 977 移除数组

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的…

电脑新装系统优化,win10优化,win10美化

公司发了新的笔记本,分为几步做 1.系统优化,碍眼的关掉。防火墙关掉、页面美化 2.安装必备软件及驱动 3.数据迁移 4.开发环境配置 目录 目录复制 这里写目录标题 目录1.系统优化关掉底部菜单栏花里胡哨 2.安装必备软件及驱动新电脑安装360 1.系统优化 关掉底部菜单…

WPF MVVM之INotifyPropertyChanged接口的几种实现方式

序言 借助WPF/Sliverlight强大的数据绑定功能,可以比实现比MFC,WinForm更加优雅轻松的数据绑定。但是在使用WPF/Silverlight绑定时,有件事情是很苦恼的:当ViewModel对象放生改变,需要通知UI。我们可以让VM对象实现INot…

es通过rest接口_search、_delete_by_query查询与删除数据

1、rest接口查询数据 rest查询: http://localhost:9200/index_name/_search 查询表达式: {"query": {"wildcard": {"accountID": {"value": "v*"}}} }postman请求截图: 2、使用Rest接口删除数据 …

re学习(23)BUUCTF 刮开有奖(中间变量的获取)

INT_PTR __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4) {const char *v4; // esiconst char *v5; // ediint v7[2]; // [esp8h] [ebp-20030h] BYREF 虽然看名称不连续,但是通过看偏移地址,可知,这些变量在内存中是连续的&…

iOS--属性关键字

定义 chat: 在iOS开发中,属性关键字是用于声明类的属性(实例变量)的修饰符。属性关键字可以影响属性的访问权限、内存管理和生成相关的getter和setter方法。 属性关键字有哪些? 分类属性关键字原子性atomic、nonato…

Android ConstraintLayout使用攻略

原文链接 Android ConstraintLayout使用攻略 ConstraintLayout是新一代的布局,它汲取了众家之长,把布局的概念进行了大统一,灵活且强大,基本上可以干掉以前所有的常用布局(LinearLayout, RelativeLayout和FrameLayout…

SD-WAN的ZTP功能是不用企业再配置了吗?

Zero-Touch Provisioning (全自动服务开通)是SD-WAN方案中最具代表性、也是最能打动客户的功能之一。 ZTP功能是完全不用企业用户进行配置了吗? 其实ZTP(Zero Touch Provisioning)并不是完全不需要配置,而是可以通过预定义的配置和…

【重点:单例模式】特殊类设计

请设计一个类,只能在堆上创建对象 方式如下: 将构造函数设置为私有,防止外部直接调用构造函数在栈上创建对象。向外部提供一个获取对象的static接口,该接口在堆上创建一个对象并返回。将拷贝构造函数设置为私有,并且…

vue中使用tesseract实现OCR/文字识别(识别图片中的文字)

文章目录 tesseract在线使用npm安装依赖:页面引入:js方法: tesseract离线使用克隆仓库拷贝 worker.min.js和tesseract-core.wasm.jsindex.html 引入tesseract.min.js下载语言包文件不上传文件服务器js方法优化 tesseract官网地址:…

webrtc QOS方法二.4(flexfec 实现可优化点)

一、冗余报文和媒体报文组织结构优化点 以单帧10个媒体报文,冗余度20%为例。这里webrtc输出要有10个媒体包2个冗余包。webrtc输出的报文序列如下: 代码实现如下: UlpfecGenerator::AddPacketAndGenerateFec:攒够足够的帧 Forwar…

【Kafka源码走读】Admin接口的客户端与服务端的连接流程

注:本文对应的kafka的源码的版本是trunk分支。写这篇文章的主要目的是当作自己阅读源码之后的笔记,写的有点凌乱,还望大佬们海涵,多谢! 最近在写一个Web版的kafka客户端工具,然后查看Kafka官网,…

Android 屏幕适配各种宽高比的手机

由于android 手机的屏幕宽高比样式太多了,在设计UI时,很多时候,会因为宽高比,分辨率不同会有展示上的差异。 我是这样解决的 在activity的onCreate方法前,调用: fun screenFit(context: Context) {val me…

系统架构设计师-软件架构设计(2)

目录 一、基于架构的软件开发方法(ABSD) 1、架构需求 1.1 需求获取 1.2 标识构件 1.3 架构需求评审 2、架构设计 2.1 提出架构模型 2.2 映射构件 2.3 分析构件的相互作用 2.4 产生架构 2.5 设计评审 3、架构文档化 4、架构复审 5、架构实现 5.1 分析与…

获取大疆无人机的飞控记录数据并绘制曲线

机型M350RTK,其飞行记录文件为加密的,我的完善代码如下 gitgithub.com:huashu996/DJFlightRecordParsing2TXT.git 一、下载安装官方的DJIFlightRecord git clone gitgithub.com:dji-sdk/FlightRecordParsingLib.git飞行记录文件在打开【我的电脑】&am…

结构型设计模式之装饰器模式【设计模式系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

Java设计模式-组合模式

组合模式 1.组合模式含义 组合模式,将对象组合成树形结以表示部分-整体的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性 组合模式可以简单的理解为将各个单独的小对象,通过组合模式,组合成一个大的对象,这个…

LiveNVR监控流媒体Onvif/RTSP功能-支持无人机、IPC等设备RTMP推流转码分发H5无插件播放也支持GB28181输出

LiveNVR支持无人机、IPC等设备RTMP推流转码分发H5无插件播放也支持GB28181输出 1、无人机推流转国标2、获取RTMP推流地址2.1、RTMP推流地址格式2.2、推流地址示例 2、设备RTMP推流3、配置拉转RTMP3.1、直播流地址格式3.2、直播流地地址示例3.3、通道配置直播流地址 4、配置级联…

深入浅出多种开发语言对接淘宝京东1688阿里巴巴等电商平台,获取实时商品详情数据API接口介绍

api接口详解大全?优秀的设计是产品变得卓越的原因设计API意味着提供有效的接口,可以帮助API使用者更好地了解、使用和集成,同时帮助人们有效地维护它每个产品都需要使用手册,API也不例外在API领域,可以将设计视为服务器和客户端之…