基于SnapDragonBoard410c的远程防盗系统 (三)
来源:互联网 发布:杭州程序员工资 编辑:程序博客网 时间:2024/05/17 07:49
本次我将继续为大家讲解基于SnapDragonBoard410c的远程防盗系统的整体架构和开发过程中应注意的问题。我们用户在打开APP时 ,可以实时的获取自己家门的情况。本次我将带大家深入了解一下,关于视频远程传输的问题!
本次Blog的主角为WildDog视频通话SDK. Server端默认接受client的视频通话请求,这样就达到了我们的视屏监控的功能需求了。
Client端被请求时的回调,我们一般默认为接受。
remoteUserInfo = (UserInfo) getIntent().getSerializableExtra("user"); mConversation = WilddogVideoManager.getConversation(); tvNickname.setText(remoteUserInfo.getNickname()); ImageManager.Load(remoteUserInfo.getFaceurl(),civPhotoUrl); broadcastReceiver = new InviteCancelBroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); if(intent.getAction().equals(Constant.INVITE_CANCEL)){ finish(); } } }; llAccept.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 接受 进入通话页 Intent intent = new Intent(AcceptActivity.this,ConversationActivity.class); intent.putExtra("user",remoteUserInfo); startActivity(intent); finish(); } }); llReject.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 拒绝 mConversation.reject(); finish(); } }); startRing();
Client 发送通话请求:
LocalStreamOptions localStreamOptions = genLocalStreamOptions(); localStream = video.createLocalStream(localStreamOptions); localStream.setOnFrameListener(new LocalStream.CameraFrameListener() { @Override public void onByteFrame(byte[] bytes, int i, int i1, int i2, long l) { // TODO 设置美颜效果 frameProcess(bytes, 0, mFirstFrame, true, i, i1, i2);//data 可以传空 根据TextureId进行美颜 mFirstFrame = false; } }); localStream.attach(wvvBig); mConversation = video.call(remoteid, localStream, "conversationDemo"); mConversation.setConversationListener(listener); startRing(); private Conversation.StatsListener statsListener = new Conversation.StatsListener() { @Override public void onLocalStreamStatsReport(LocalStreamStatsReport localStreamStatsReport) { if (isSelfInBig) { showStats(localStreamStatsReport, null); } } @Override public void onRemoteStreamStatsReport(RemoteStreamStatsReport remoteStreamStatsReport) { if (!isSelfInBig) { showStats(null, remoteStreamStatsReport); } } };
- 基于SnapDragonBoard410c的远程防盗系统 (三)
- 基于SnapDragonBoard410c的远程防盗系统
- 基于SnapDragonBoard410c的远程防盗系统 (二)
- 基于SnapDragonBoard410C的手势识别
- 基于SnapDragonBoard410c开发的人脸识别
- 基于SnapDragonBoard410c的智能小车(一)
- 基于SnapDragonBoard410C的机械臂(一)
- 基于SnapDragonBoard410c的视频录制出现分辨率变化的原因
- 基于SnapDragonBoard410c内置文佳到System
- 基于SnapDragonBoard410c 开机copy文件
- 基于SnapdragonBoard410c开发板自定义相机
- 电子防盗系统的作用
- 网站的防盗链系统
- 基于android的远程视频监控系统
- 基于android的远程视频监控系统
- 基于android的远程视频监控系统
- 基于android的远程视频监控系统
- 基于ZigBee的远程温度监测系统.
- 简单易懂的jquery版三级联动select
- 年终工作总结目录结构和要点
- java实现Excel文件解析---apache POI以及把汉字转化为拼音
- Spark 提交.jar程序遇到的问题
- EXT4文件系统之extents的ext4_get_block()
- 基于SnapDragonBoard410c的远程防盗系统 (三)
- C#中屏蔽复制粘贴
- ubuntu下最全的软件安装、卸载、查看命令
- 1040. 有几个PAT(25) PAT乙级真题
- docker命令小结
- 深入浅出MyBatis-Sqlsession
- Eclipse怎么设置自动删除空白行和语句后多余空格?
- 面向对象
- 406. 和大于S的最小子数组