设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

音视频设备测试

[复制链接]

22

主题

67

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
跳转到指定楼层
楼主
发表于 2013-9-25 15:41:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试视频设备时,有画面就是成功了。
不过测试音频时,想听到自己刚说的话,也就是自己的回音。怎么设置函数?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9101

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9101
沙发
发表于 2013-9-25 15:52:22 | 只看该作者
您好,把回声消除关闭即可,参考:

  1. DWORD dwEnableEcho = 0;
  2. BRAC_SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL, (char*)&dwEnableEcho, sizeof(DWORD));
复制代码
回复 支持 反对

使用道具 举报

22

主题

67

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
板凳
 楼主| 发表于 2013-9-25 18:31:13 | 只看该作者
用V4.8.SDK里面的DEMO测得。BRAC_SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL, (char*)&dwEnableEcho, sizeof(DWORD));
此函数里面的dwEnableEcho全改成FALSE或者0.自己还是听不到自己说的话
回复 支持 反对

使用道具 举报

22

主题

67

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
地板
 楼主| 发表于 2013-9-25 18:34:10 | 只看该作者
程序里含有BRAC_SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL  的地方有两个,都改了的
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9101

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9101
5#
发表于 2013-9-25 18:47:14 | 只看该作者
您好,您可以获取本地音量的大小来判断是否有采集到音频。
回复 支持 反对

使用道具 举报

22

主题

67

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
6#
 楼主| 发表于 2013-9-25 19:08:14 | 只看该作者
我写的ActiveX控件.主界面不是我做的,由于界面不方便做,所以靠显示来判断有些难度。所以想用话筒里的回音,自己听一下是否有麦克风。不知这样能否实现,不行的话我再看看其他办法吧!
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9101

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9101
7#
发表于 2013-9-25 19:24:08 | 只看该作者
您好,明白您的想法了,用AnyChat直接来实现一个测试录音设备是否可用的功能还不行,您可以自己调用windows提供的录音API:WaveInXXXX,录一个缓冲区,比如10s,录完之后再调用WaveOutXXX来播放缓冲区。
回复 支持 反对

使用道具 举报

22

主题

67

帖子

295

积分

中级会员

Rank: 3Rank: 3

积分
295
8#
 楼主| 发表于 2013-9-27 10:40:03 | 只看该作者
DWORD BRAC_GetSpeakState(DWORD dwUserid, DWORD& dwState);
功能:查询用户音频设备采集状态
返回值:0表示成功,否则为出错代码
参数:
dwUserid 用户编号,为-1时表示获取自己的音频设备状态;
dwState 音频设备采集状态,开启音频采集返回1,否则返回0
备注:
这里所说的“音频设备采集状态”是指在SDK内部是否已开始音频采集,当返回值为1时,表示SDK已经开始采集,当有其它用户请求时,才对外传输。
SDK并不能获知用户是否已将麦克风接入声卡,估当用户没有接入麦克风时,就算SDK进行音频采集,也是无法采集到用户说话的声音的。


此函数在什么情况下,才会返回错误?一直没插入麦克风,SDK内部开始音频采集会报错么
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9101

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9101
9#
发表于 2013-9-27 10:44:36 | 只看该作者
您好,这个函数只是查询声音采集的状态,与Mic是没有关系的,就算没有Mic,声卡还是可以的采集。

您的需求可以这样来实现,进入一个房间,打开本地音频设备,启用音频数据回调,在回调中将音频采样数据(PCM格式)保存,比如保存30秒,然后再播放出来,播放的接口可以调用Windows提供的API函数:WaveOutXXX来播放缓冲区。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 16:30 , Processed in 0.181538 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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