AnyChat技术支持论坛

标题: 关于音频参数设置中几种不同声音采集模式的疑问? [打印本页]

作者: lslizhonghua    时间: 2014-3-21 14:30
标题: 关于音频参数设置中几种不同声音采集模式的疑问?
版主
    你好!
    最近研究贵公司的anychatSDK遇到如下疑问:根据论坛帖子http://www.anychat.cn/faq/index.php?action=artikel&cat=2&id=185&artlang=zh的解释,在测试普通的视频通话时应该采用“发言模式”。我们再实际测试的时候发现,大部分时候采用发言模式,是可以正常的采集到发言人的讲话声音的,但是当在笔记本上接上外接的USB声音采集设备时,如果在电脑集成的麦克和外接USB麦克间切换时,有时会遇到切换到外接USB麦上,并设置发言模式的情况下,对方听不到我讲话的声音的情况(似乎是声音没有采集下来),相反如果采用外接USB麦克,并将模式设置为“线路输入”反而能采集到声音(对方能听到我讲话),这与贴子以及文档的解释不吻合,请问可能是什么地方出现了问题.(特别说明:外接USB麦的驱动是正常的,单独用录音软件测试是可以采集到声音的),敬待释疑,谢谢!

作者: admin    时间: 2014-3-21 14:42
您好,您可以尝试指定音频采集驱动,看看是否正常,代码如下:
  1. DWORD dwRecordDrv = 2;    // wave in mode
  2. BRAC_SetSDKOption(BRAC_SO_AUDIO_RECORDDRVCTRL, (char*)&dwRecordDrv, sizeof(DWORD));
复制代码

作者: lslizhonghua    时间: 2014-3-21 15:38
谢谢版主及时回复,我还需要做进一步的验证测试,有问题再请教哈。
另外,阅读官方实例源码ForJava版本时遇到一个新的问题,描述如下:
在应用服务器扩展开发中,在注册事件的回调通知接口时已经有如下代码:
public void SetServerEvent(AnyChatServerEvent e)
        {
                RegisterNotify();
                this.event = e;
        }
其中的RegisterNotify();已经进行了事件回调通知接口的注册,为什么还要单独执行下面一条语句:
anychat.RegisterVerifyUserClass(new AnyChatVerifyUserOutParam());来特别对用户验证事件的回调通知进行单独注册?
难道RegisterNotify();中没有包含对用户验证事件回调的注册吗?RegisterVerifyUserClass(new AnyChatVerifyUserOutParam());这个语句有什么特殊的意义吗?
我在测试时发现注释RegisterVerifyUserClass(new AnyChatVerifyUserOutParam());语句,也能触发对用户验证的回调处理?请解答疑问,谢谢!
作者: 廖斌    时间: 2014-3-21 15:41
本帖最后由 廖斌 于 2014-3-21 15:42 编辑
lslizhonghua 发表于 2014-3-21 15:38
谢谢版主及时回复,我还需要做进一步的验证测试,有问题再请教哈。
另外,阅读官方实例源码ForJava版本时 ...

您好,anychat.RegisterVerifyUserClass(new AnyChatVerifyUserOutParam())是用来部署 Java web容器中需要用到的。
作者: lslizhonghua    时间: 2014-3-21 15:44
那么,也就是说如果应用服务器不是部署在JAVA WEB中,就可以不用执行anychat.RegisterVerifyUserClass(new AnyChatVerifyUserOutParam())语句是吗?
作者: 廖斌    时间: 2014-3-21 16:02
lslizhonghua 发表于 2014-3-21 15:44
那么,也就是说如果应用服务器不是部署在JAVA WEB中,就可以不用执行anychat.RegisterVerifyUserClass(new  ...

是的,部署在java web中才需要调用这个api

作者: lslizhonghua    时间: 2014-3-21 16:11
OK,谢谢版主




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3