在录制视频时使用按钮获取以毫秒为单位的系统时间

时间:2017-01-05 04:06:12

标签: android android-studio-2.2

我正在使用video使用camera2api录制button以开始录制。现在录制开始时,我需要以毫秒为单位获得系统时间按钮(开始录制按钮除外) )。

如果不是系统时间,则至少记录视频的录制时间。

只有按下特定按钮才能存储时间。我尝试过使用system.currentTimeMillis()systemclock.elapsedtime(),但是一旦录制开始然后我按下特定按钮来记录时间而不停止录制,它不存储任何时间细节并显示0。

以下是我用来存储时间的代码:

case R.id.video: {
            if (mIsRecordingVideo) {
                stopRecordingVideo();
            } else {
                startTSRecordingVideo();
                starttime = System.currentTimeMillis();
                Log.d(TAG, "onClick:time "+starttime);
                switch (view.getId()){
                    case R.id.stop:{
                        stoptime= SystemClock.elapsedRealtime()-starttime;
                        Log.d(TAG, "onClick:timefor slowstop "+stoptime);
                    }
                    break;
                    case R.id.timeshift:{
                        slstarttime=SystemClock.uptimeMillis()-starttime;
                        Log.d(TAG, "onClick:timefor slowstart"+slstarttime);
                    }
                    break;
                }
            }

请告诉我,如何在不影响录音的情况下获得时间。

1 个答案:

答案 0 :(得分:1)

您错放了stoptimeshift按钮事件,但不会被调用。它应该直接在开关盒上。

试试这个。

case R.id.video:
    if (mIsRecordingVideo) {
       stopRecordingVideo();
     } else {
       startTSRecordingVideo();
       starttime = System.currentTimeMillis();
        Log.d(TAG, "onClick:time "+starttime);
     }
     break;
case R.id.stop:
        stoptime= SystemClock.elapsedRealtime()-starttime;
        Log.d(TAG, "onClick:timefor slowstop "+stoptime);        
     break;
case R.id.timeshift:
        slstarttime=SystemClock.uptimeMillis()-starttime;
        Log.d(TAG, "onClick:timefor slowstart"+slstarttime);
     break;