android调用海康SDK进行实时预览的多播问题

hgx2014 2016-08-03 07:22:31
android sdk 摄像头视频 在网上下了一个海康android版的demo,稍微修改了一下()用户设置ip,端口,用户名等信息后就可以连接海康的摄像头,然后进行实时预览,但现在有几个问题需要大神们帮下忙:
1.项目中进行预览的组件是:一个SurfaceView,这样只能预览一个摄像头的监控,如果我要两个或三个呢?就需要相应的SurfaceView嘛?

2.如果要进行多个预览,在我的项目中HC_DVRManager类中有进行多播预览地址设置,应该怎么设置?是怎么样的一个逻辑?

知道的大神们,能帮我解决一下吗?联系方式:QQ694058774,急用,所以解决了 我会实在的感谢的.
...全文
1124 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35321911 2017-08-28
  • 打赏
  • 举报
回复
求demo链接地址
xyzsyy0102 2017-02-10
  • 打赏
  • 举报
回复
请问下用户设置ip,端口分别怎么填写
csdn_zxq 2016-10-12
  • 打赏
  • 举报
回复
您好,正在做相关项目,您可不可以一个实时预览的demo给我,邮箱为172857178@qq.com,我学习一下。
hgx2014 2016-08-09
  • 打赏
  • 举报
回复
引用 3 楼 adfldk 的回复:
你既然开线程 那么每个视频预览都可以是独立线程 互不干涉 是不是?
大神,我尝试了一下把工具类复制成两份,然后分别使用开启线程使用但是还是只播放一个,而且运行一会后会报错 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] JNI DETECTED ERROR IN APPLICATION: can't call void com.example.administrator.testdome.HC_DVRManagertwo$2.onDisplay(int, byte[], int, int, int, int, int, int) on instance of com.example.administrator.testdome.HC_DVRManager$2 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] in call to CallVoidMethodV 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] "Thread-12152" prio=5 tid=31 Runnable 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] | group="main" sCount=0 dsCount=0 obj=0x12dcbca0 self=0xeec7d000 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] | sysTid=8350 nice=0 cgrp=default sched=0/0 handle=0xde23e000 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] | state=R schedstat=( 3337078 2562154 79 ) utm=0 stm=0 core=2 HZ=100 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] | stack=0xdace2000-0xdace4000 stackSize=1012KB 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] | held mutexes= "mutator lock"(shared held) 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] (no managed stack frames) 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/art: art/runtime/check_jni.cc:70] 08-08 19:04:40.115 8197-8350/com.example.administrator.testdome A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 8350 (Thread-12152)
adfldk 2016-08-04
  • 打赏
  • 举报
回复
只要一个SurfaceView 方法重载就行了吧
hgx2014 2016-08-04
  • 打赏
  • 举报
回复
引用 3 楼 adfldk 的回复:
你既然开线程 那么每个视频预览都可以是独立线程 互不干涉 是不是?
不是啊 我发现两个线程对视频流的解码用的是同一个方法,这样就导致了后来的那个把前面的给覆盖了,结果就是在页面上只显示后来的视频
adfldk 2016-08-04
  • 打赏
  • 举报
回复
你既然开线程 那么每个视频预览都可以是独立线程 互不干涉 是不是?
hgx2014 2016-08-04
  • 打赏
  • 举报
回复
引用 1 楼 adfldk 的回复:
只要一个SurfaceView 方法重载就行了吧
我尝试过 在开一个线程重新加载SurfaceView 但是播放流好像只能接受一个视频源,就是只能解析一个视频,第二个把第一个给覆盖了

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧