关闭

基于SnapDragonBoard410c的远程防盗系统

标签: androidSnapDragon
163人阅读 评论(0) 收藏 举报
分类:

今天我就基于高通410c的开发板给大家介绍一款远程人脸识别系统!该系统是基于讯飞人脸识别和Wilddog的远程视屏传输系统。该产品是定位于智能家居这一块的市场,实时监控家里门口所有经过的的人,如发现如发现家门口有人徘徊了5分钟左右,则立即把门口的视屏传输给户主。

监控户主门口

主要的集成过程如下:

@Override
public void onCreate() {
    super.onCreate();
    //初始化WilddogApp实例,初始化WilddogApp后,即可在项目任意位置获取数据库地址引用
    //mAppId即野狗应用ID
    WilddogOptions.Builder builder = new WilddogOptions.Builder().setSyncUrl("http://"+ mAppId +".wilddogio.com");
    WilddogOptions options = builder.build();
    WilddogApp.initializeApp(getApplicationContext(), options);
    //获取Auth对象
    WilddogAuth auth = WilddogAuth.getInstance();
    //匿名登录系统
    auth.signInAnonymously().addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(Task<AuthResult> task) {
            if (task.isSuccessful()) {
                //...
                //完成身份认证后初始化 Video SDK,如身份认证失败则会引起初始化失败或应用崩溃
                WilddogUser user = task.getResult().getCurrentUser();
                 initVideoSDK();
            }else {
                 throw  new RuntimeException("auth 失败"+task.getException().getMessage());
            }
        }
    });

    //....
}
private void initVideoSDK(){
    String token = WilddogAuth.getInstance().getCurrentUser().getToken(false).getResult().getToken();
    //初始化 WilddogVideoCall SDK
    WilddogVideoInitializer.initialize(context,videoAppId,token);
    //获取 WilddogVideo对象
    WilddogVideoCall video=WilddogVideoCall.getInstance();
}

设置 WilddogVideoCall 的代理WilddogVideoCall.Listener 用于监听通话请求:

video.setListener(new WilddogVideoCall.Listener() {
           @Override
           public void onCalled(Conversation conversation, String s) {

           }

           @Override
           public void onTokenError(WilddogVideoError wilddogVideoError) {

           }
       });

发起通话请求

使用 call(String remoteUid, LocalStream localStream, String data) 来发起通话请求,该方法需要传递三个参数:

remoteUid: 通话接收方的 uid,uid 是 WilddogAuth 为认证用户分配的唯一身份标识;
localStream: 通话发起方的本地媒体流;
data: 用户自定义信息,可以为空。

调用该方法返回 Conversation 实例,用于控制本次一对一视频通话。

收到通话请求

其他用户发来通话请求时,用户可以从 WilddogVideoCall 的listener得到通知,并获得 Conversation 实例:
public void onCalled(Conversation conversation, String s) {
mConversation = conversation;
Log.d(“log”,s);
}
}

设置通话代理

设置 Conversation 的代理Conversation.Listener用于监听通话状态。

conversation.setConversationListener(new Conversation.Listener() {
@Override
public void onCallResponse(CallStatus callStatus) {

}
@Override
public void onStreamReceived(RemoteStream remoteStream) {
}
@Override
public void onClosed() {
}
@Override
public void onError(WilddogVideoError wilddogVideoError) {
}

});

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1525次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类