AnyChat技术支持论坛

标题: 关于安卓端anyChat连接USB摄像头的问题。 [打印本页]

作者: po1xiao    时间: 2017-8-30 21:32
标题: 关于安卓端anyChat连接USB摄像头的问题。
我在做一个安卓板卡开发,要实现的功能是能通过HelloAnyChat这个apk使用USB摄像头和另一方视频。

现在我遇到的情况如下:
1.我的摄像头是UVC协议的USB摄像头。
2.安卓板卡是ARM架构的,我浏览网友之前发的帖,你们说只支持x86架构的CPU。
所以我的摄像头默认是不支持的。

于是我想改下代码,我看了HelloAnyChat Demo中的VideoActivity和AnyChatCameraHelper类。
我发现在AnyChatCameraHelper类中需要设置如下信息:
1.画面frame的 byte[] 数组:AnyChatCoreSDK.InputVideoData(data, data.length, 0);
2.是否是外部视频输入?:AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_EXTVIDEOINPUT, 1);
3.视频格式、宽高、预览帧率:AnyChatCoreSDK.SetInputVideoFormat(mVideoPixfmt, previewSize.width, previewSize.height, iCurPreviewRange[1]/1000, 0);
4.前置后置摄像头:AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAMERAFACE, cameraInfo.facing);

我现在的问题是这样:
1.是不是只有获取了如上的数据,也能我的摄像头也能被支持。
2.能够解释一下BRAC_SO_CORESDK_EXTVIDEOINPUT是什么参数。
3.我调用的驱动有onFrame回调方法,和系统Camera的onPreviewFrame一样,但是onFrame回调的参数是ByteBuffer,不是byte[],
   我试着将ByteBuffer转换成byte[],但是还有问题,能否给AnyChatCoreSDK增加一个InputVideoData方法,参数是ByteBuffer。
4.上面提到的数据必须都得传入才行吗?目前BRAC_SO_LOCALVIDEO_CAMERAFACE肯定只能传一个虚的,预览帧率这边也没法获取,也只能传入一个自定义的值。


目前改了AnyChatCameraHelper,但视频接收端(手机端)没有画面这个usb摄像头的画面,板卡这边usb摄像头的预览是有的。
看了一下手机端的log,
AnyChatCoreSDK中的private void OnVideoDataCallBack(int userid, byte[] buf, int len, int width, int height)方法,根本没有执行。


麻烦贵公司的大神帮我解答一下。
最终目的就是usbCamera能掉起来,谢谢


作者: 佰锐科技-刘冬明    时间: 2017-8-31 09:46
本帖最后由 佰锐科技-刘冬明 于 2017-8-31 09:51 编辑

您好,我们安卓API目前只支持本地摄像头。如果安卓USB外接摄像头,要获得支持,必须针对您的需求进行修改,须走定制。具体定制方案可咨询我们商务。




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