简单的问题。我有一个按钮,我在其中设置OnClick和OnLongClick监听器。 onclick用于拍照,而longclick用于拍摄视频。在longclick上,只要按下按钮,我就开始录制,此时我停止录制。但是,这不适用于我的代码:
photoButton.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.v("Miles", "onlong");
invisiblizeAllButtons();
cameraPreview.startVideo();
v.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_UP:
Log.v("Miles", "ACTION UP");
cameraPreview.stopVideo();
return true;
}
return true;
}
});
return true;
}
});
打印的日志按此顺序排列:ONLONG,ACTIONUP和stopVideo(),“STOPVIDEO”。所以语法似乎有效;但是,我的录音机不会停止录音:
public void stopVideo() {
Log.v("Miles", "STOP VIDEO");
mMediaRecorder.stop();
mMediaRecorder.release();
}
有什么明显的我做错了吗?感谢。
答案 0 :(得分:0)
我发布此消息后立即想出来。我不得不在我用来停止视频的Camera对象上调用stopPreview()。录音本身已经停止,但不是视觉上的。