package com.sxit.dreamiya.activity.video; import java.util.List; import com.easemob.chatuidemo.activity.SplashActivity; import com.sxit.dreamiya.R; import com.sxit.dreamiya.adapter.video.CameraListAdapter; import com.sxit.dreamiya.base.component.BaseActivity; import com.sxit.dreamiya.db.DBHelper; import com.sxit.dreamiya.entity.user.UserInfo; import com.sxit.dreamiya.http.RdaResultPack; import com.sxit.dreamiya.utils.SOAP_UTILS; import com.sxit.dreamiya.utils.video.NetUtil; import com.sxit.dreamiya.utils.video.libvlc.LibVLC; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.view.KeyEvent; import android.view.Menu; import android.view.View; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.Toast; public class CameraList extends BaseActivity implements OnItemClickListener { protected static final int REQUEST_CODE = 0; private ListView cameralist; private List<UserInfo> cameraItem; private CameraListAdapter cameraAdapter; public NetUtil netUtil = new NetUtil(); public int screenWidth = 0; public int screenHeight = 0; public static int clear = 0; private String userName = "";// 用户名 private String passWord = "";// 密码 private String serverIp = "";// 管理平台IP private String socketIp = "";// 转发IP private String userId; private String ifPtz; private String ifMap; private String ifRecord; private String ifSnap; private Handler handler = null; Context context; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 禁止锁屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.cameralist); context = this; userId = SplashActivity.userinfo.getUserId(); userName = SplashActivity.userinfo.getUsername();// 获取传过来的用户名 passWord = SplashActivity.userinfo.getPassword();// 获取传过来的密码 ifPtz = SplashActivity.userinfo.getIp(); ifMap = SplashActivity.userinfo.getMap(); ifRecord = SplashActivity.userinfo.getRecord(); ifSnap = SplashActivity.userinfo.getSnap(); // 创建属于主线程的handler handler = new Handler(); initDevList(); } private void initDevList() { cameralist = (ListView) findViewById(R.id.camera_list); DBHelper dbh = new DBHelper(context); cameraItem = dbh.queryUserInfo(); serverIp = SOAP_UTILS.IP_SIMPLE; socketIp = SOAP_UTILS.IP_SIMPLE; int i = 0; UserInfo map = null; for (i = 0; i < cameraItem.size(); i++) { map = (UserInfo) cameraItem.get(i); if (!ifPtz.equals("1")){ map.setPtz("0");// 是否支持云台,如果支持,传1,不支持,传0 map.setZoom("0");// 是否支持云台,如果支持,传1,不支持,传0 map.setTalk("0");// 是否支持云台,如果支持,传1,不支持,传0 } map.setType("dev");// 传1 } cameraAdapter = new CameraListAdapter(this, R.layout.camera_row, cameraItem); cameralist.setAdapter(cameraAdapter); cameralist.setOnItemClickListener(this); } public static final int UPDATE_ID = Menu.FIRST; @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); // menu.add(0, UPDATE_ID, 0, R.string.refreshvideo); return true; } /* * start to view */ String port = ""; String stayLine = ""; Boolean ifCanBoolean = true; public final static String TAG = "VLC/VideoPlayerActivity"; private LibVLC mLibVLC = null; public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long id) { if (R.id.camera_list == arg0.getId()) { final String selectName = cameraItem.get(arg2).getUserId(); final String selectType = cameraItem.get(arg2).getType(); final String rtsp = cameraItem.get(arg2).getRtsp(); final String devType = cameraItem.get(arg2).getType(); if (cameraItem.get(arg2).getStayline().equals("0")) { Toast toast = Toast.makeText(CameraList.this, "视频离线无法观看!", Toast.LENGTH_SHORT); toast.show(); return; } if (devType.equals("DHZL")) { // Bundle bundle = this.getIntent().getExtras(); // Intent intent = new Intent(CameraList.this, // DhPlayerActivity.class); // intent.putExtra("devName", selectName); // intent.putExtra("userId", userId); // intent.putExtra("chName", cameraItem.get(arg2).get("chName") // .toString()); // intent.putExtra("devId", cameraItem.get(arg2).get("devId") // .toString()); // intent.putExtra("ip", cameraItem.get(arg2).get("ip").toString()); // intent.putExtra("port", cameraItem.get(arg2).get("port") // .toString()); // intent.putExtra("devUserName", // cameraItem.get(arg2).get("devUserName").toString()); // intent.putExtra("devPassWord", // cameraItem.get(arg2).get("devPassWord").toString()); // intent.putExtra("chNo", cameraItem.get(arg2).get("chNo") // .toString()); // intent.putExtra("listCount", // cameraItem.get(arg2).get("listCount").toString()); // intent.putExtra("listNo", cameraItem.get(arg2).get("listNo") // .toString()); // intent.putExtra("width", cameraItem.get(arg2).get("width") // .toString()); // intent.putExtra("height", cameraItem.get(arg2).get("height") // .toString()); // intent.putExtra("adapterId", // cameraItem.get(arg2).get("adapterId").toString()); // intent.putExtra("ptz", cameraItem.get(arg2).get("ptz") // .toString()); // intent.putExtra("zoom", cameraItem.get(arg2).get("zoom") // .toString()); // intent.putExtra("talk", cameraItem.get(arg2).get("talk") // .toString()); // intent.putExtra("socketIp", socketIp); // intent.putExtra("ifRecord", ifRecord); // intent.putExtra("ifSnap", ifSnap); // intent.putExtras(bundle); // // startActivity(intent); } else { if (selectType.equals("dev")) { if (rtsp.equals("0")) { // Bundle bundle = this.getIntent().getExtras(); // // Intent intent = new Intent(CameraList.this, // ShowVideo.class); // intent.putExtra("devName", selectName); // intent.putExtra("userId", userId); // intent.putExtra("chName", // cameraItem.get(arg2).get("chName").toString()); // intent.putExtra("devId", // cameraItem.get(arg2).get("devId").toString()); // intent.putExtra("ip", cameraItem.get(arg2).get("ip") // .toString()); // intent.putExtra("port", cameraItem.get(arg2) // .get("port").toString()); // intent.putExtra("chNo", cameraItem.get(arg2) // .get("chNo").toString()); // intent.putExtra("listCount", // cameraItem.get(arg2).get("listCount") // .toString()); // intent.putExtra("listNo", // cameraItem.get(arg2).get("listNo").toString()); // intent.putExtra("width", // cameraItem.get(arg2).get("width").toString()); // intent.putExtra("height", // cameraItem.get(arg2).get("height").toString()); // intent.putExtra("adapterId", // cameraItem.get(arg2).get("adapterId") // .toString()); // intent.putExtra("ptz", cameraItem.get(arg2).get("ptz") // .toString()); // intent.putExtra("zoom", cameraItem.get(arg2) // .get("zoom").toString()); // intent.putExtra("talk", cameraItem.get(arg2) // .get("talk").toString()); // intent.putExtra("socketIp", socketIp); // intent.putExtra("ifRecord", ifRecord); // intent.putExtra("ifSnap", ifSnap); // intent.putExtras(bundle); // // startActivity(intent); } else if (rtsp.equals("1")) { // try { // mLibVLC = Util.getLibVlcInstance(); // } catch (LibVlcException e) { // e.printStackTrace(); // } // String chNo = cameraItem.get(arg2).get("chNo") // .toString(); // int addOneNo = Integer.parseInt(chNo) + 1; // String rtspUrl = ""; // if (socketIp.contains(".net:") // || socketIp.contains(".com:")) { // rtspUrl = "rtsp://" // + socketIp // + "/" // + cameraItem.get(arg2).get("devId") // .toString() + "_" // + Integer.toString(addOneNo); // } else { // rtspUrl = "rtsp://" + socketIp + ":554/" + cameraItem.get(arg2).get("devId") // .toString() + "_" // + Integer.toString(addOneNo); // } // System.out.println("rtspUrl:" + rtspUrl); // Bundle bundle = this.getIntent().getExtras(); // Intent intent = new Intent(CameraList.this, // VideoPlayerActivity.class); // intent.putExtra("rtspUrl", rtspUrl); // intent.putExtra("devName", selectName); // intent.putExtra("userId", userId); // intent.putExtra("chName", // cameraItem.get(arg2).get("chName").toString()); // intent.putExtra("devId", // cameraItem.get(arg2).get("devId").toString()); // intent.putExtra("ip", cameraItem.get(arg2).get("ip") // .toString()); // intent.putExtra("port", cameraItem.get(arg2) // .get("port").toString()); // intent.putExtra("chNo", cameraItem.get(arg2) // .get("chNo").toString()); // intent.putExtra("listCount", // cameraItem.get(arg2).get("listCount") // .toString()); // intent.putExtra("listNo", // cameraItem.get(arg2).get("listNo").toString()); // intent.putExtra("width", // cameraItem.get(arg2).get("width").toString()); // intent.putExtra("height", // cameraItem.get(arg2).get("height").toString()); // intent.putExtra("adapterId", // cameraItem.get(arg2).get("adapterId") // .toString()); // intent.putExtra("ptz", cameraItem.get(arg2).get("ptz") // .toString()); // intent.putExtra("zoom", cameraItem.get(arg2) // .get("zoom").toString()); // intent.putExtra("talk", cameraItem.get(arg2) // .get("talk").toString()); // intent.putExtra("socketIp", socketIp); // intent.putExtra("ifRecord", ifRecord); // intent.putExtra("ifSnap", ifSnap); // intent.putExtras(bundle); // // startActivity(intent); } else if (rtsp.equals("2")) { // Bundle bundle = this.getIntent().getExtras(); // Intent intent = new Intent(CameraList.this, // DhPlayerActivity.class); // intent.putExtra("devName", selectName); // intent.putExtra("userId", userId); // intent.putExtra("chName", // cameraItem.get(arg2).get("chName").toString()); // intent.putExtra("devId", // cameraItem.get(arg2).get("devId").toString()); // intent.putExtra("ip", cameraItem.get(arg2).get("ip") // .toString()); // intent.putExtra("port", cameraItem.get(arg2) // .get("port").toString()); // intent.putExtra("devUserName", cameraItem.get(arg2) // .get("devUserName").toString()); // intent.putExtra("devPassWord", cameraItem.get(arg2) // .get("devPassWord").toString()); // intent.putExtra("chNo", cameraItem.get(arg2) // .get("chNo").toString()); // intent.putExtra("listCount", // cameraItem.get(arg2).get("listCount") // .toString()); // intent.putExtra("listNo", // cameraItem.get(arg2).get("listNo").toString()); // intent.putExtra("width", // cameraItem.get(arg2).get("width").toString()); // intent.putExtra("height", // cameraItem.get(arg2).get("height").toString()); // intent.putExtra("adapterId", // cameraItem.get(arg2).get("adapterId") // .toString()); // intent.putExtra("ptz", cameraItem.get(arg2).get("ptz") // .toString()); // intent.putExtra("zoom", cameraItem.get(arg2) // .get("zoom").toString()); // intent.putExtra("talk", cameraItem.get(arg2) // .get("talk").toString()); // intent.putExtra("socketIp", socketIp); // intent.putExtra("ifRecord", ifRecord); // intent.putExtra("ifSnap", ifSnap); // intent.putExtras(bundle); // // startActivity(intent); // } } else if (selectType.equals("rtsp")) { // try { // mLibVLC = Util.getLibVlcInstance(); // } catch (LibVlcException e) { // e.printStackTrace(); // } // // Intent intent = new Intent(CameraList.this, // VideoPlayerActivity.class); // intent.putExtra("rtspUrl", // cameraItem.get(arg2).get("chName").toString()); // intent.putExtra("width", cameraItem.get(arg2).get("width") // .toString()); // intent.putExtra("height", cameraItem.get(arg2) // .get("height").toString()); // intent.putExtra("devName", selectName); // intent.putExtra("userId", userId); // intent.putExtra("devId", cameraItem.get(arg2).get("devId") // .toString()); // intent.putExtra("chName", "0"); // intent.putExtra("ip", "0"); // intent.putExtra("port", "0"); // intent.putExtra("chNo", "0"); // intent.putExtra("listCount", "0"); // intent.putExtra("listNo", "0"); // intent.putExtra("adapterId", "1"); // intent.putExtra("ptz", cameraItem.get(arg2).get("ptz") // .toString()); // intent.putExtra("zoom", cameraItem.get(arg2).get("zoom") // .toString()); // intent.putExtra("talk", "0"); // intent.putExtra("socketIp", socketIp); // intent.putExtra("ifRecord", ifRecord); // intent.putExtra("ifSnap", ifSnap); // // startActivity(intent); } } } } Runnable runnableUi = new Runnable() { @Override public void run() { try { cameraAdapter.notifyDataSetChanged(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } // waitClose(); } }; protected void onStop() { // TODO Auto-generated method stub super.onStop(); // 退出,则设置退出属性为ture } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (KeyEvent.KEYCODE_BACK == event.getKeyCode()) { this.finish(); return true; } return super.onKeyUp(keyCode, event); } /** * 返回 * * @param view */ public void back(View view) { finish(); } @Override protected void onEventMainThread(RdaResultPack http) { // TODO Auto-generated method stub } }