2 starbenx starbenx 于 2016.01.13 16:43 提问

android摄像功能无法启动预览

问一下,我做了一个摄像头程序,继承了一个SurfaceView做预览,但用addView(mPreview)将预览添加到FrameLayout时,
报错说Unable to start activity ComponentInfo{com.example.test/com.example.test.CameraActivity}: java.lang.NullPointerException.
之前构造mPreview已经成功了,请问一下这是什么问题?
代码如下:
首先实现了
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback ()
{
//实现了 public CameraPreview(Context context, Camera camera){}
public void surfaceCreated(SurfaceHolder holder) {}
public void surfaceDestroyed(SurfaceHolder holder) {}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {}
}
然后在activity中调用时
mPreview = new CameraPreview(this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(R.id.camerapreview);
preview.addView(mPreview);

问题出在preview.addView(mPreview);这句上,提示mPreview为空,请问是怎么回事

2个回答

devmiao
devmiao   Ds   Rxr 2016.01.14 03:08
已采纳
devmiao
devmiao   Ds   Rxr 2016.01.14 03:08
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android 后台service 实现无预览页面录像功能
直接贴代码 核心是如何做到无页面,其实是有页面的,只是大小是1看不到。 重点是surfaceView的使用,创建大小1像素,6.0需要设置允许在其他应用图层上展示。 public class BackgroundVideoRecorder extends Service implements SurfaceHolder.Callback { private Wind
Android学习【1】解决android摄像头预览的变形问题
今天开始弄安卓摄像头开发,开始比较顺利,成功实现了摄像头预览拍照的问题,发现预览时SurfaceView 出现了变形的问题,拍照保存图像后也有相应的问题,于是各种网上查找以及分析api。 最终发现api中使用getOptimalPreviewSize这个函数解决了变形的问题。 private Size getOptimalPreviewSize(List sizes, int w, i
android TextureVIew实现摄像头预览和拍照
用texturreview实现摄像头预览和拍照,能够自动对焦,按钮有点挫,可以改为Relativelayout然后就好看一些
Android不预览录视频
不用预览,录制固定时间的视频 activity  public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
使用安卓Camera类完成视频截图功能
最近公司在VOIP视频上传的功能里加视频截图的功能。下面我来介绍一下我的实现思路和实现过程。
调用系统相机开启录像功能
在清单文件中加入相应的权限           在布局中activity_camera_vodeo               android:id="@+id/activity_camera_vodeo"               android:layout_width="match_parent"               android:layout_he
Android - 关于Fragment的预览问题
关于Fragment的预览问题本文地址:http://blog.csdn.net/caroline_wendy在Activity中,添加Fragment,因为是动态加载,所以无法预览,会产生Rendering Problem;但是可以选择一个预览Fragment,使用:tools:layout="@layout/fragment_status",就可以预览;代码: <FrameLayout xm
3.在Android上显示摄像头,并在摄像头画面上画图
实现此功能分成
Opencv For Android: 如何显示摄像头预览
它是在 CameraBridgeBase 这个类里有一个 方法,  deliverAndDrawFrame(CvCameraViewFrame ),   在这个函数里面, 它将CvCameraViewListener2 的onCameraFrame 返回的Mat 转换为 bitmap , 然后通过canvas画在 surfaceView 持有holder的 surface上。 注
照相机预览、拍照以及适配问题的完美解决
前段时间在做face++相关的功能,对于照相机也是进行了一番研究,小有收获,解决了不少拍照预览图片模糊、部分机型黑屏等问题,目前已经保证了团队里面十多部安卓手机的完美适配。