我正在使用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;
}
}
请告诉我,如何在不影响录音的情况下获得时间。
答案 0 :(得分:1)
您错放了stop
和timeshift
按钮事件,但不会被调用。它应该直接在开关盒上。
试试这个。
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;