即时通讯 音视频聊天室开发建议
BRAC_ActiveCallLog(TRUE);
// 设置SDK核心组件所在目录
CHAR szCoreSDKPath[MAX_PATH] = {0};
GetModuleFileName(NULL,szCoreSDKPath,sizeof(szCoreSDKPath));
(strrchr(szCoreSDKPath,'\\'))[1] = 0;
BRAC_SetSDKOption(BRAC_SO_CORESDK_PATH,szCoreSDKPath,strlen(szCoreSDKPath));
// 根据BRAC_InitSDK的第二个参数:dwFuncMode,来告诉SDK该如何处理相关的任务(详情请参考开发文档)
DWORD dwFuncMode = BRAC_FUNC_VIDEO_CBDATA | BRAC_FUNC_AUDIO_AUTOPLAY | BRAC_FUNC_CHKDEPENDMODULE | BRAC_FUNC_AUDIO_VOLUMECALC | BRAC_FUNC_NET_SUPPORTUPNP | BRAC_FUNC_FIREWALL_OPEN |
BRAC_FUNC_AUDIO_AUTOVOLUME | BRAC_FUNC_CONFIG_LOCALINI;
BRAC_InitSDK(this->GetSafeHwnd()/*NULL*/,dwFuncMode);
// 设置录像临时文件保存路径
CHAR szRecordDirectory[MAX_PATH] = {0};
::GetModuleFileName(NULL,szRecordDirectory,MAX_PATH);
(strrchr(szRecordDirectory,'\\'))[1] = 0;
strcat(szRecordDirectory,"Record");
BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR,szRecordDirectory,strlen(szRecordDirectory));
// 设置录像文件质量参数
DWORD dwVideoBitrate = 200 * 1000; // 200kbps
BRAC_SetSDKOption(BRAC_SO_RECORD_VIDEOBR,(PCHAR)&dwVideoBitrate,sizeof(DWORD));
DWORD dwAudioBitrate = 96 * 1000; // 96kbps
BRAC_SetSDKOption(BRAC_SO_RECORD_AUDIOBR,(PCHAR)&dwAudioBitrate,sizeof(DWORD));
// 设置快照临时文件保存路径
CHAR szSnapShotDirectory[MAX_PATH] = {0};
::GetModuleFileName(NULL,szSnapShotDirectory,MAX_PATH);
(strrchr(szSnapShotDirectory,'\\'))[1] = 0;
strcat(szSnapShotDirectory,"SnapShot");
BRAC_SetSDKOption(BRAC_SO_SNAPSHOT_TMPDIR,szSnapShotDirectory,strlen(szSnapShotDirectory));
// 设置SDK临时文件路径
CHAR szTempPath[MAX_PATH] = {0};
::GetModuleFileName(NULL,szTempPath,MAX_PATH);
(strrchr(szTempPath,'\\'))[1] = 0;
strcat(szTempPath,"Temp");
BRAC_SetSDKOption(BRAC_SO_CORESDK_TMPDIR,szTempPath,strlen(szTempPath));
// 启用音频自动参数功能(默认关闭)
DWORD bAudioAutoParam = TRUE;
BRAC_SetSDKOption(BRAC_SO_AUDIO_AUTOPARAM,(PCHAR)&bAudioAutoParam,sizeof(DWORD));
即时通讯 音视频聊天室开发建议相关推荐
- 基于webrtc的点对点音视频聊天室开发|spring+vue.js
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API.它于2011年6月1日开源并在Goog ...
- 即时通讯音视频开发(十八):详解音频编解码的原理、演进和应用选型
1.引言 大家好,我是刘华平,从毕业到现在我一直在从事音视频领域相关工作,也有一些自己的创业项目,曾为早期Google Android SDK多媒体架构的构建作出贡献. 就音频而言,无论是算法多样性, ...
- 即时通讯音视频开发(0):零基础,史上最通俗视频编码技术入门
[来源申明]本文引用了微信公众号"鲜枣课堂"的<视频编码零基础入门>文章内容.为了更好的内容呈现,即时通讯网在引用和收录时内容有改动,转载时请注明原文来源信息,尊重原作 ...
- 即时通讯音视频开发(十):实时语音通讯的回音消除技术详解
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...
- 即时通讯音视频开发(十四):实时音视频数据传输协议介绍
概述 随着移动互联网的快速发展以及智能终端性能的逐步提高,智能终端间进行实时音视频通讯成为移动互联网发展的一个重要方向.那么如何保证智能终端之间实时音视频数据通讯成为一个很现实的问题. 实际上,实时音 ...
- 即时通讯音视频开发(八):常见的实时语音通讯编码标准
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- 即时通讯音视频开发(六):如何开始音频编解码技术的学习
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- 即时通讯音视频开发(五):认识主流视频编码技术H.264
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
- 即时通讯音视频开发(七):音频基础及编码原理入门
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的. 系列文 ...
最新文章
- 王者荣耀装备测试软件,王者荣耀首度公开5v5 PVP自动化测试方案
- BCH到底该采用哪种交易排序规则?
- 十二. 一步步破解JEB 2.0demo版二
- K8s 文档增加反种族歧视声明 | 云原生生态周报 Vol. 54
- LinkedList中查询(contains)和删除(remove)源码分析
- KubeVela 上手(1)|让云端应用交付更加丝滑
- java获取spring数据源_Spring动态注册多数据源的实现方法
- ARM、DSP、FPGA的区别
- codeigniter CI 框架 在helper 中 使用 全局变量 方法
- Ae 效果快速参考:3D 通道
- 如何在typescript-react项目中使用emotion的css行内样式
- 手机麦克风声音太大_让手机麦克风声音变大的软件
- iOS开发:如何修改app名称
- html5酷炫动画效果网站,html5 WebGL酷炫网页动画特效
- awk中RS,ORS,FS,OFS区别与联系
- 全球主要语言缩写对照
- python中的进度条tqdm模块, 让进度可视
- make出错,编译通不过的解决办法
- 华云大咖说 | 安超DCM给数据中心“做主”
- 学习Masonry框架 - iOS