我想编写一个应用程序,利用相机拍摄极慢的帧率视频并上传它。现在我正在阅读这个:http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdf
我的问题是关于相机的使用。上面的文章使用画布预览图像,如果一个人不想在拍摄之前预览图像可以做到吗?是否有必要使用相机图像的预览,或者我可以调用takepicture拍摄照片并捕获生成的回调以将其保存到文件中?如果是这样,怎么办呢?
(自从我用Java编程以来已经很长时间了)
答案 0 :(得分:1)
问:如果在拍摄之前不想预览图像,可以这样做吗? 答:没有。查看第6点@ http://developer.android.com/reference/android/hardware/Camera.html
重要提示:调用startPreview()开始更新预览曲面。必须先开始预览才能拍照。
问:是否需要使用相机图像的预览
答:通过“使用”图像预览,您的意思是设置camera.setPreviewCallback(...)
吗?如果是这样,不,它不是。但是你仍然需要预览来绘制画布才能拍照,否则用户应该怎么知道画面的样子呢?
问:我是否可以调用takepicture拍摄照片并捕获生成的回调以将其保存到文件中?
答:是的,您可以使用camera.takePicture(...)
答案 1 :(得分:0)
您可以将数据从预览帧复制到字节数组,然后从另一个线程复制您可以将字节数组(NV21格式)转换为您喜欢的任何编码(如果您需要... Android 2.2已经YuvImage类中一个非常快速的函数,可以转换为JPEG格式并将其发送到服务器。
答案 2 :(得分:0)
现在我遇到了一个问题,如果我尝试使用类似的代码调用on-create中的照片:itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdf
它只是崩溃......我假设正在发生的事情是它试图在实际预览设置之前调用拍照。