您的位置:首页 > 编程语言 > Go语言

基于SnapDragonBoard410c的远程防盗系统

2017-11-21 10:37 267 查看
今天我就基于高通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) {
}


});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: