Я пытаюсь записывать видео с помощью своего приложения, но когда я нажимаю кнопку re cord, он бросает исключение nullpointer на Camera.Parameters params = mCamera.getParameters();
. Я искал много, но нашел одно решение, например, camera.open()
, но которое также не работает в моем состоянии. У моего мобильного телефона есть камера заднего вида, поэтому я также попробовал camera.open (0) или camera.open (1), но ничего не полезного.получение исключения nullpointer при попытке начать запись видео
Вот мой код для справки.
@Override
public void onCreate(Bundle savedInstanceState) {
//mCamera = Camera.open(0);
if (mCamera == null) {
mCamera = getCameraInstance();
// Create preview view and set it as the content of our activity.
mPreview = new CameraPreview(this, mCamera);
} else {
mCamera.release();
mCamera = getCameraInstance();
mPreview = new CameraPreview(this, mCamera);
}
int i = R.id.videoFrameView;
Object o = this.findViewById(i);
final FrameLayout preview = (FrameLayout) o;
preview.addView(mPreview);
//mCamera = Camera.open(1);
Camera.Parameters params = mCamera.getParameters();
// Here i am getting nullpointer exception.
params.set("cam_mode", 1);
mCamera.setParameters(params);
sizes = params.getSupportedPreviewSizes();
Это мой логакат.
04-23 19:21:27.642: E/AndroidRuntime(25598): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aml.videoaml/com.aml.videoaml.RecordActivity}: java.lang.NullPointerException
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2077)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.access$600(ActivityThread.java:134)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.os.Handler.dispatchMessage(Handler.java:99)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.os.Looper.loop(Looper.java:154)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.main(ActivityThread.java:4624)
04-23 19:21:27.642: E/AndroidRuntime(25598): at java.lang.reflect.Method.invokeNative(Native Method)
04-23 19:21:27.642: E/AndroidRuntime(25598): at java.lang.reflect.Method.invoke(Method.java:511)
04-23 19:21:27.642: E/AndroidRuntime(25598): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
04-23 19:21:27.642: E/AndroidRuntime(25598): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
04-23 19:21:27.642: E/AndroidRuntime(25598): at dalvik.system.NativeStart.main(Native Method)
04-23 19:21:27.642: E/AndroidRuntime(25598): Caused by: java.lang.NullPointerException
04-23 19:21:27.642: E/AndroidRuntime(25598): at com.aml.videoaml.RecordActivity.onCreate(RecordActivity.java:63)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.Activity.performCreate(Activity.java:4479)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
04-23 19:21:27.642: E/AndroidRuntime(25598): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2041)
04-23 19:21:27.642: E/AndroidRuntime(25598):
Я не понимаю, что не так в моем коде, пожалуйста, дайте мне любую ссылку или подсказку.