zoukankan      html  css  js  c++  java
  • 如何修改音频通信质量?

    动态修改音频通信质量主要是通过调节音频编码器的目标码率来实现的,可以满足在不同的应用中使用不同通话质量的需求,如局域网或是网络带宽有保障的应用,可以采用较高的通话质量,而互联网则采用较低的通话质量来降低带宽占用。同时也可以动态修改音频通话质量,在较好质量和一般通话质量之间动态切换。该特性需要AnyChat Platform Core SDK V2.8.7以上的版本才能支持。

     

    可通过BRAC_SetSDKOption接口来设置单声道,或是双声道模式下的音频通信质量,典型设置代码如下:

     
    1.DWORD dwMonoBitrate = 15850;
    2.BRAC_SetSDKOption(BRAC_SO_AUDIO_MONOBITRATE,(PCHAR)&dwMonoBitrate,sizeof(DWORD));
    3.DWORD dwStereoBitrate = 40000;
    4.BRAC_SetSDKOption(BRAC_SO_AUDIO_STEREOBITRATE,(PCHAR)&dwStereoBitrate,sizeof(DWORD));

    上述示例代码设置了单声道模式下,音频编码的质量是:15.85kbps,双声道模式下,音频的编码质量是:40kbps,当SDK工作在单声道模式下时,单声道设置生效,当SDK工作在双声道模式下时,双声道设置生效。

     

    AnyChat SDK默认是根据服务器的“AnyChatCoreServer.ini”配置文件里面的音频参数部分来确定是工作在单声道采集模式,或是双声道采集模式。当上层应用开启AnyChat SDK的音频自适应模式(默认是关闭状态)后,将根据音频工作模式来动态切换采集参数:

    音频工作模式 采样率 采样位数 采样通道 默认质量 备注
    发言模式 16000 16 1 15.85kbps 单声道模式
    放歌模式 44100 16 2 40kbps 双声道模式
    卡拉OK模式 44100 16 2 40kbps 双声道模式
    线路输入模式 44100 16 2 40kbps 双声道模式

     

    开启“音频自适应模式”的示例代码如下:

     
    1.//启用音频自动参数功能(默认关闭)
    2.DWORD bAudioAutoParam = TRUE;
    3.BRAC_SetSDKOption(BRAC_SO_AUDIO_AUTOPARAM,(PCHAR)&bAudioAutoParam,sizeof(DWORD));

    关于音频的工作模式可参考:185. 音频工作(采集)模式是什么?

     

    注:不同的客户端可独立工作在不同的模式下,如:A客户端是关闭音频自适应模式(默认状态),B客户端启用音频自适应模式,这两个客户端程序均可正常工作。另外不论是关闭,或是开启音频自适应模式,均可动态调节音频编码的目标码率。

  • 相关阅读:
    Git库搭建好之后,当要提交一个新的文件,需要做的是3个步骤
    实习生面试经历
    Word2007中插入公式之后,公式上下有很大的空白
    参考文献规范格式
    Git学习笔记四--远程仓库
    Git学习笔记三--管理修改、撤销修改、删除文件
    Git学习笔记二--工作区和暂存区
    Git学习笔记一--创建版本库、添加文件、提交文件等
    Errors running builder 'DeploymentBuilder' on project '工程名'
    java中运算符与表达式
  • 原文地址:https://www.cnblogs.com/megan812/p/3874876.html
Copyright © 2011-2022 走看看