音频工作(采集)模式是什么?

在即时通讯应用中,根据应用场景的不同,需要对音频输入源进行选择,不同的应用场景对应不同的音频工作模式。AnyChat Platform Core SDK(需要V2.8.6以上版本)支持多种音频工作(采集)模式,包括:

1、发言模式(默认):自动选择麦克风为音频输入源设备,用户说话的声音被麦克风采集,启动音频特效处理(包括:回音消除、静音检测、噪音抑制、自动增溢),该模式通常应用于互动交流,用户发言讨论等场合[参数值:0];

2、放歌模式:自动选择立体声混音输入源设备,本地计算机所播放的声音被采集,同时SDK内部会自动屏蔽其它用户的声音(如果不屏蔽,则用户的声音会被采集下来,并回传给用户,用户那边将会听到回音),SDK内部会自动关闭音频特效处理,该模式通常应用于向其他用户放歌,而不用关心其他用户发言的场合[参数值:1];

3、卡拉OK模式:自动选择立体声混音和麦克风两个输入源设备(该特性与硬件相关,有些声卡不支持同时采集麦克风和立体声混音),本地计算机所播放的声音和用户说话的声音将会被采集,同时SDK内部会自动屏蔽其它用户的声音,SDK内部会自动关闭音频特效处理,该模式通常应用于向其他用户放歌,同时自己用麦克风伴唱,而不用关心其它用户发言的场合[参数值:2];

4、线路输入模式:自动选择线路输入源设备,通过线路输入的声音将被采集(通常是指将外部的DV、DVD、TV等设备的音频输出端子接入声卡的LineIn口的应用),SDK内部会自动关闭音频特效处理,该模式通常应用于向其他用户播放外部设备的声音,而不需要自己讲话的场合,如向房间的所有用户直播电视信号时,可将电视的视频输出接入专用的视频采集卡,而将电视的声音输出接入声卡的LineIn接口,并选择“线路输入模式”,那么当前房间内的其它用户就可以收看到实时的电视画面与声音了[参数值:3]。

典型修改音频工作模式的代码如下:

1.DWORD dwAudioMode = 1;    // 修改为放歌模式

2.BRAC_SetSDKOption(BRAC_SO_AUDIO_CPATUREMODE,(PCHAR)&dwAudioMode,sizeof(dwAudioMode));

AnyChat Platform Core SDK初始化自动启动“发言模式”,如需要切换到其它的工作模式,需要通过相应的接口设置(参考:64. BRAC_SetSDKOption),在SDK初始化成功后,可动态切换,由于切换过程中,SDK内部会自动选择对应的源设备,故切换后,上层应用需要更新当前的音频采集设备,以及对应的音频特效状态等标志。

AnyChat Platform Core SDK会根据模式的不同和网络状态的不同,动态调节播放缓冲区的大小,从而来控制播放延迟,如发言模式下,当网络条件好的情况下,平均延迟<300ms,当网络条件不好的情况下,平均延迟<800ms;而放歌模式等其它非发言模式,延迟将会随网络状态的变化而变化。总的来说,发言模式延迟小,保障实时性,非发言模式,如放歌模式,则延迟会稍大,保障流产性。

AnyChat Platform Core SDK会自动记录最后一次上层应用所选择的工作模式,下次重新运行后,会自动启用前次记录的工作模式,如果不期望SDK记录前次工作模式,则可通过关闭SDK的配置文件来实现(在SDK初始化时去掉BRAC_FUNC_CONFIG_LOCALINI参数,参考:11. 初始化SDK:BRAC_InitSDK

音频工作(采集)模式是什么?

时间: 2024-10-18 22:01:49

音频工作(采集)模式是什么?的相关文章

音频的采集和播放

音频的采集和播放主要由专门的codec芯片完成,主流的codec芯片厂商有Circus Logic.Wolfson等.采集时codec芯片通过A/D采样把声音的模拟信号转换成数字信号并通过I2S总线送给CPU处理,播放时CPU把处理好的数字信号通过I2S总线送给codec芯片并通过D/A转换为模拟信号播放出来.codec芯片除了A/D, D/A功能外还有其他功能,主要有1)对音频通路进行控制,比如播放音乐打电话等在codec芯片内部的流通线路是不一样的.2)对音频信号做相应的处理,比如音量控制.

MVC+EF 理解和实现仓储模式和工作单元模式

MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generic Repository in ASP.NET MVC using Entity Framework 文章介绍 在这篇文章中,我们试着来理解Repository(下文简称仓储)和Unit of Work(下文简称工作单元)模式.同时我们使用ASP.NET MVC和Entity Framework 搭

.NET应用架构设计—工作单元模式(摆脱过程式代码的重要思想,逆袭DDD)

阅读目录: 1.背景介绍 2.过程式代码的真正困境 3.工作单元模式的简单示例 4.总结 1.背景介绍 一直都在谈论面向对象开发,但是开发企业应用系统时,使用面向对象开发最大的问题就是在于,多个对象之间的互操作需要涉及数据库操作.两个业务逻辑对象彼此之间需要互相调用,如果之间的互相操作是在一个业务事务范围内的,很容易完成,但是如果本次业务逻辑操作涉及到多个业务对象一起协作完成时问题就来了. 在以往,我们使用过程式的代码(事务脚本模式),将所有与本次业务事务范围内相关的所有逻辑都写在一个大的代码中

[.NET领域驱动设计实战系列]专题五:网上书店规约模式、工作单元模式的引入以及购物车的实现

一.前言 在前面2篇博文中,我分别介绍了规约模式和工作单元模式,有了前面2篇博文的铺垫之后,下面就具体看看如何把这两种模式引入到之前的网上书店案例里. 二.规约模式的引入 在第三专题我们已经详细介绍了什么是规约模式,没看过的朋友首先去了解下.下面让我们一起看看如何在网上书店案例中引入规约模式.在网上书店案例中规约模式的实现兼容了2种模式的实现,兼容了传统和轻量的实现,包括传统模式的实现,主要是为了实现一些共有规约的重用,不然的话可能就要重复写这些表达式.下面让我们具体看看在该项目中的实现. 首先

工作单元模式(java)

个人理解:工作单元模式是为了解决事务性问题,即保证数据修改提交的一致性. 晚上在看到工作单元模式时,觉得比较有意思,看到的基本都是c#实现的,本着学习的态度,使用java语言实现,实现出来才发现有点蹩脚,权当记录,有时间再完善. 1 package com.xiaolu.unitofwork; 2 3 import com.xiaolu.domain.AggrateRoot; 4 import com.xiaolu.repository.UnitOfWorkRepository; 5 6 /**

Linux 系统修改网卡工作双工模式

很久以前修改Linux系统网卡工作模式的命令是mii-tools ,后来随着计算机服务器硬件的发展,早已经进入1000Mbps普及的时代,现在大型服务器基本都是万兆工作模式. mii-tools 并不能正确识别超过100M 的网卡; 因为 MII以4位半字节方式传送数据双向传输,时钟速率25MHz.其工作速率可达100Mb/s. ethtool 工具就是专门替代mii-tools 的,它可以修改大带宽的网络接口双工模式 等信息. ethtool 具体用法如下: # ethtool eth0   

嵌入式开发之davinci--- 8148/8168/8127 中的音频alsa 采集

1.snd_pcm_open,打开句柄. 2.配置参数,可能用到的接口:snd_pcm_hw_params_alloca.snd_pcm_hw_params_any.snd_pcm_hw_params_set_rate_near.snd_pcm_hw_params_set_format.snd_pcm_hw_params_set_access.snd_pcm_hw_params_set_channels.snd_pcm_hw_params_set_period_size_near.snd_pcm

工作单元模式

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Transactions; using UnitOfWork; namespace UnitOfWork { public interface IUnitOfWorkRepository { void NewItem(object item)

音视频即时通讯开发中音频模式的采集

在很多即时通讯应用中,会根据应用场景的不同,需要对音频输入源进行选择,不同的应用场景对应不同的音频工作模式.需要支持多种音频工作(采集)模式,包括:     1.发言模式(默认):自动选择麦克风为音频输入源设备,用户说话的声音被麦克风采集,启动音频特效处理(包括:回音消除.静音检测.噪音抑制.自动增溢),该模式通常应用于互动交流,用户发言讨论等场合:     2.放歌模式:自动选择立体声混音输入源设备,本地计算机所播放的声音被采集,同时SDK内部会自动屏蔽其它用户的声音(如果不屏蔽,则用户的声音