public boolean compareTime(TimeObject startTime, TimeObject endTime) { if (startTime.getYear() > endTime.getYear()) return false; if (startTime.getMonth() > endTime.getMonth()) return false; if (startTime.getDay() > endTime.getDay()) return false; if (startTime.getHour() > endTime.getHour()) return false; if (startTime.getMinute() > endTime.getMinute()) return false; return true; }
private void onTimeSearch(TimeObject startTime, TimeObject endTime) { // mFileDataList = new ArrayList<FileData>(); FindInfo findInfo = new FindInfo(); findInfo.startTime.year = startTime.getYear(); findInfo.startTime.month = startTime.getMonth(); findInfo.startTime.day = startTime.getDay(); findInfo.startTime.hour = startTime.getHour(); findInfo.startTime.minute = startTime.getMinute(); findInfo.startTime.second = 0; findInfo.endTime.year = endTime.getYear(); findInfo.endTime.month = endTime.getMonth(); findInfo.endTime.day = endTime.getDay(); findInfo.endTime.hour = endTime.getHour(); findInfo.endTime.minute = endTime.getMinute(); findInfo.endTime.second = 0; findInfo.nChannelN0 = 0; findInfo.nFileType = 0; findInfo.szFileName = ""; if (mWndSelected >= channelNum) findInfo.nChannelN0 = 0; else findInfo.nChannelN0 = mWndSelected; int position = 0; for (int i : Channel) { if (i == findInfo.nChannelN0) { onStopChn(position); } position++; } mlPlayHandle[mWndSelected] = mNetSdk.PlayBackByTime(mWndSelected, mLoginId, findInfo, 1, 1); if (mlPlayHandle[mWndSelected] > 0 && compareTime(startTime, endTime)) { mPlayState = PlayState.MPS_PLAYING; getMySurface(mWndSelected).initData(); ReviewState[mWndSelected] = 1; Channel[mWndSelected] = findInfo.nChannelN0; Toast.makeText(getApplicationContext(), "打开成功", Toast.LENGTH_SHORT).show(); mStartTime[mWndSelected] = findInfo.startTime.hour * 3600 + findInfo.startTime.minute * 60 + findInfo.startTime.second; mEndTime[mWndSelected] = findInfo.endTime.hour * 3600 + findInfo.endTime.minute * 60 + findInfo.endTime.second; mTotalTime[mWndSelected] = (mEndTime[mWndSelected] - mStartTime[mWndSelected]); timeSeek.setMax(mTotalTime[mWndSelected]); timeSeek.setProgress(0); getMySurface(mWndSelected).setOnPlayBackPosListener(onPlayBackPosLs); System.out.println( "录像长度:" + mTotalTime[mWndSelected] + " " + mStartTime[mWndSelected] + " " + mEndTime[mWndSelected]); myListPart.setVisibility(View.INVISIBLE); } else { Toast.makeText(getApplicationContext(), "打开失败,请检查输入时间是否正确...", Toast.LENGTH_SHORT).show(); } }
private void setEndTime(final TimeObject startTime) { LinearLayout layout = new LinearLayout(PlayBackActivity.this); layout.setOrientation(LinearLayout.VERTICAL); layout.setBackgroundColor(getResources().getColor(R.color.white)); final TimePicker mTimePicker = new TimePicker(PlayBackActivity.this); final DatePicker mDatePicker = new DatePicker(PlayBackActivity.this); mTimePicker.setDescendantFocusability(TimePicker.FOCUS_BLOCK_DESCENDANTS); mTimePicker.setIs24HourView(true); mDatePicker.setDescendantFocusability(DatePicker.FOCUS_BLOCK_DESCENDANTS); final TextView tv = new TextView(PlayBackActivity.this); String time = String.format("%02d:%02d", startTime.getHour(), startTime.getMinute()); String date = String.valueOf(startTime.getYear()) + "年" + String.format("%02d", startTime.getMonth()) + "月" + String.format("%02d", startTime.getDay()) + "日"; tv.setText("开始时间:" + date + " " + time); int version = Integer.valueOf(android.os.Build.VERSION.SDK); if (version >= 11) mDatePicker.setCalendarViewShown(false); layout.addView(tv, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); layout.addView( mDatePicker, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); layout.addView( mTimePicker, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); new AlertDialog.Builder(PlayBackActivity.this) .setTitle("请选择结束时间:") .setView(layout) .setPositiveButton( android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { TimeObject endTime = new TimeObject( mTimePicker.getCurrentMinute(), mTimePicker.getCurrentHour(), mDatePicker.getDayOfMonth(), mDatePicker.getMonth() + 1, mDatePicker.getYear()); System.out.println("时间:" + endTime.getMinute() + " " + startTime.getMinute()); onTimeSearch(startTime, endTime); } }) .setNegativeButton( android.R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) {} }) .create() .show(); }