发 帖  
张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件, 👉戳此立抢👈

[经验] 基于SnapDragonBoard410c的远程防盗系统

2018-9-25 16:51:59  646 Qualcomm 人脸识别
分享
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) {
}

});

只有小组成员才能发言,加入小组>>

41个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

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