是否可以在不设置 setPreviewDisplay 的情况下在服务中录制视频? 我在 HTC Desire 上试过,但它在日志中抛出此信息,
MediaRecorder 准备失败:-1
CameraInput 没有可供显示的表面
是否需要设置一些额外的属性?
最佳答案
我在某处找到了这段代码。不确定它是否适用于媒体记录器,但它在 HTC hero android 2.1-update1(和模拟器)上的 camera.takePicture 工作得相当好。
if (camera == null) {
Log.i(TAG, "Opening camera");
camera = Camera.open();
}
SurfaceView view = new SurfaceView(new DummyContext()); //You'll have to create your own class extending Context
camera.setPreviewDisplay(view.getHolder());
camera.startPreview();
//wait
Log.i(TAG, "Wait for cam");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
Log.e(TAG, "Woken violently");
e.printStackTrace();
}
//take pic
Log.i(TAG, "Take pic");
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
关于android - 在服务中录制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971561/