设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5167|回复: 1
打印 上一主题 下一主题

声卡播放音频采集开发指南

[复制链接]

1

主题

1

帖子

45

积分

新手上路

Rank: 1

积分
45
跳转到指定楼层
楼主
发表于 2018-9-17 17:05:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 杨家超 于 2018-9-18 20:41 编辑

AnyChat一直致力于为行业客户提供音视频整体解决方案。我们注意到,在某些特定的业务场景中,会需要采集声卡播放的声音(之前只能采集麦克风的声音)。比如:远程教育应用场景中,老师需要给学生播放课件,其中课件的声音就需要从声卡播放中采集出来。经过AnyChat技术团队的深入研发,目前在Windows平台的最新版本 AnyChatSDK r7554中已经提供出这种能力,并且已开放相应的API接口。
一、使用方式
1、SDK内部嵌入“Native Audio Play Capture”声卡采集设备
2、上层可以给声音
采集设备绑定相应的流号,根据绑定的流号对设备进行开/关操作  
二、示例代码
1、初始化SDK之后,添加声卡采集设备
  1. #define BRAC_SO_AUDIO_PLAYCAPTURE        79        ///< 音频播放采集参数设置(参数为int型,0 关闭[默认],1 开启)

  2. BOOL bEnableNativeCapture = TRUE;
  3. BRAC_SetSDKOption(BRAC_SO_AUDIO_PLAYCAPTURE,(PCHAR)&bEnableNativeCapture, sizeof(bEnableNativeCapture));
复制代码
2、给每个声音采集设备绑定流号
  1. #define BRAC_STREAMINFO_AUDIODEVICENAME   195  ///< 音频采集设备名称

  2. #define NATIVE_AUDIO_PLAY_CAPTURE_INDEX   5    // 为了方便对方请求时指定声卡采集流,这里固定声卡采集设备的流号为5

  3. // 获取音频采集设备的列表数量
  4. DWORD dwDeviceNum = 0;
  5. BRAC_EnumAudioCapture(NULL, dwDeviceNum);                                                        

  6. // 获取设备列表名称
  7. char **pDeviceName = new char *[dwDeviceNum];
  8. BRAC_EnumAudioCapture((TCHAR **)pDeviceName, dwDeviceNum);        

  9. // 给声卡采集的设备绑定指定流号,其他的设备从0开始按顺序编号
  10. for (DWORD i = 0; i < dwDeviceNum; i++){
  11.         char pName[255] = {0};
  12.         strcpy_s(pName, 255, pDeviceName);
  13.         if(strstr(pName, "Native Audio Play Capture"))                                       
  14.                 BRAC_SetUserStreamInfo(-1, NATIVE_AUDIO_PLAY_CAPTURE_INDEX, BRAC_STREAMINFO_AUDIODEVICENAME, pName, strlen(pName));
  15.         else
  16.                 BRAC_SetUserStreamInfo(-1, i, BRAC_STREAMINFO_AUDIODEVICENAME, pName, strlen(pName));
  17. }
  18. for (DWORD i = 0; i < dwDeviceNum; i++){
  19.         GlobalFree(pDeviceName);
  20. }
  21. delete[] pDeviceName;
  22. pDeviceName = NULL;
复制代码
3、打开声卡采集设备采集音频
  1. BRAC_UserSpeakControlEx(-1, TRUE, NATIVE_AUDIO_PLAY_CAPTURE_INDEX);
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9075

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9075
沙发
发表于 2019-2-25 09:16:38 | 只看该作者
谢谢,正是我需要的.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-4-20 10:32 , Processed in 0.195766 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表