实例介绍
【实例简介】海康威视的demo 播放库,本人亲测,保证能使用。库文件在libs里面。
【实例截图】
HCNetSDKPlaers.rar
【核心代码】
package com.HCNetSDK.Player; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; public class VideoShowActivity extends Activity { /** SurfaceView对象,用来显示视频 */ private SjrsSurfaceView nowSjrsSurfaceView; /** 视频开始 */ private Button btStart; /** 视频向上 */ private Button btUp; /** 视频向下 */ private Button btDown; /** 视频向左 */ private Button btLeft; /** 视频向右 */ private Button btRigth; /** 视频上左 */ private Button btUpLeft; /** 视频上右 */ private Button btUpRigth; /** 视频下左 */ private Button btDownLeft; /** 视频下右 */ private Button btDownRigth; /** button点击事件*/ private ButtonListener btnListener; /** 实例化网络库SDK*/ private SjrsSurfaceView mSurface; /** 监控点信息类 */ private MonitorCameraInfo cameraInfo; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findView(); setListener(); init(); } /** * 组件配置 */ private void findView() { // TODO Auto-generated method stub nowSjrsSurfaceView = (SjrsSurfaceView) findViewById(R.id.video); btUp = (Button) findViewById(R.id.bt_up); btDown = (Button) findViewById(R.id.bt_down); btLeft = (Button) findViewById(R.id.bt_left); btRigth = (Button) findViewById(R.id.bt_rigth); btStart = (Button) findViewById(R.id.bt_start); btUpLeft = (Button) findViewById(R.id.bt_up_left); btUpRigth = (Button) findViewById(R.id.bt_up_rigth); btDownLeft = (Button) findViewById(R.id.bt_down_left); btDownRigth = (Button) findViewById(R.id.bt_down_rigth); btnListener = new ButtonListener(); } /** * 监听设置 */ private void setListener() { // TODO Auto-generated method stub btUp.setOnClickListener(btnListener); btDown.setOnClickListener(btnListener); btLeft.setOnClickListener(btnListener); btRigth.setOnClickListener(btnListener); btStart.setOnClickListener(btnListener); btUp.setOnTouchListener(btnListener); btDown.setOnTouchListener(btnListener); btLeft.setOnTouchListener(btnListener); btRigth.setOnTouchListener(btnListener); btStart.setOnTouchListener(btnListener); btUpLeft.setOnClickListener(btnListener); btUpRigth.setOnClickListener(btnListener); btDownLeft.setOnClickListener(btnListener); btDownRigth.setOnClickListener(btnListener); btUpLeft.setOnTouchListener(btnListener); btUpRigth.setOnTouchListener(btnListener); btDownLeft.setOnTouchListener(btnListener); btDownRigth.setOnTouchListener(btnListener); } /** * 页面初始化 */ private void init() { // TODO Auto-generated method stub mSurface = new SjrsSurfaceView(VideoShowActivity.this); } /** * 显示 */ protected void onResume() { super.onResume(); // 如果没有在播放的话 // if (!nowSjrsSurfaceView.playFlag) { // // 监控点信息类 // cameraInfo = new MonitorCameraInfo(); // //224.186.114.116 // cameraInfo.serverip = "192.111.111.145"; // cameraInfo.serverport = 8000; // cameraInfo.username = "admin"; // cameraInfo.userpwd = "12345"; // cameraInfo.channel = 1; // cameraInfo.describe = "测试点"; // // nowSjrsSurfaceView.setMonitorInfo(cameraInfo); // // 开始实时预览 // nowSjrsSurfaceView.startPlay(); // } } /** * 暂停 */ protected void onPause() { super.onPause(); if (nowSjrsSurfaceView.playFlag) { nowSjrsSurfaceView.stopPlay(); // 停止实时预览 } } /** * 方向按键监听 * 注意:此处的通道号参数 实质为:2 但必须指定为:1(主通道)才可以做控制 */ public class ButtonListener implements OnTouchListener,OnClickListener { @Override public boolean onTouch(View v, MotionEvent event) { switch (v.getId()) { case R.id.bt_start: System.out.println("nowSjrsSurfaceView.playFlag" nowSjrsSurfaceView.playFlag); if (!nowSjrsSurfaceView.playFlag) { // 监控点信息类 cameraInfo = new MonitorCameraInfo(); //224.186.114.116 cameraInfo.serverip = "192.111.111.145"; cameraInfo.serverport = 8000; cameraInfo.username = "admin"; cameraInfo.userpwd = "12345"; cameraInfo.channel = 1; cameraInfo.describe = "测试点"; nowSjrsSurfaceView.setMonitorInfo(cameraInfo); // 开始实时预览 nowSjrsSurfaceView.startPlay(); } break; case R.id.bt_up: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,21,0); System.out.println("向上"); break; case R.id.bt_down: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,22,0); System.out.println("向下"); break; case R.id.bt_left: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,23,0); System.out.println("向左"); break; case R.id.bt_rigth: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,24,0); System.out.println("向右"); break; case R.id.bt_up_left: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,25,0); System.out.println("上左"); break; case R.id.bt_up_rigth: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,26,0); System.out.println("上右"); break; case R.id.bt_down_left: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,27,0); System.out.println("下左"); break; case R.id.bt_down_rigth: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,28,0); System.out.println("下右"); break; /*case R.id.bt_amplification: boolean iss = mSurface.SjrsSurface().NET_DVR_PTZControlWithSpeed(cameraInfo.playNum,15,0,3); System.out.println("异常:" mSurface.SjrsSurface().NET_DVR_GetLastError()); System.out.println("焦距放大" iss); break; case R.id.bt_shrink: boolean is = mSurface.SjrsSurface().NET_DVR_PTZControlWithSpeed(cameraInfo.playNum,16,0,3); System.out.println("焦距缩小" is); break;*/ default: break; } return false; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_up: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,21,1); System.out.println("结束向上移动"); break; case R.id.bt_down: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,22,1); System.out.println("结束向下移动"); break; case R.id.bt_left: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,23,1); System.out.println("结束向左移动"); break; case R.id.bt_rigth: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,24,1); System.out.println("结束向右移动"); break; case R.id.bt_up_left: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,25,1); System.out.println("结束上左移动"); break; case R.id.bt_up_rigth: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,26,1); System.out.println("结束上右移动"); break; case R.id.bt_down_left: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,27,1); System.out.println("结束下左移动"); break; case R.id.bt_down_rigth: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(cameraInfo.userId,1,28,1); System.out.println("结束下右移动"); break; /*case R.id.bt_amplification: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(0,1,13,1); System.out.println("结束焦距放大"); break; case R.id.bt_shrink: mSurface.SjrsSurface().NET_DVR_PTZControl_Other(0,1,14,1); System.out.println("结束焦距缩小"); break;*/ default: break; } } } }
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论