Я пытаюсь использовать библиотеку CWAC-Camera для проекта, который требует добавления некоторых функций в камеру ... добавьте некоторые кнопки в пользовательский интерфейс и т. Д.Проблема с камерой CWAC для Android на новом CameraFragment(). TakePicture();
На самом деле я тестирую эту библиотеку. Проблема в том, что я могу видеть предварительный просмотр и вращать камеру без проблем. но ... Я не могу сфотографировать whitout ошибка ....
Мой код до сих пор ..
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button photo = (Button)findViewById(R.id.foto);
photo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new CameraFragment().takePicture();
}
});
}
Только что на классе Main_activity ..
Traceback ...
E/AndroidRuntime(20708): Process: pandicam.camerafromlibrary, PID: 20708
E/AndroidRuntime(20708): java.lang.NullPointerException: Attempt to invoke virtual method 'void com.commonsware.cwac.camera.CameraView.takePicture(boolean, boolean)' on a null object reference
E/AndroidRuntime(20708): at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:151)
E/AndroidRuntime(20708): at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:137)
E/AndroidRuntime(20708): at pandicam.camerafromlibrary.MainActivity$1.onClick(MainActivity.java:30)
E/AndroidRuntime(20708): at android.view.View.performClick(View.java:4756)
E/AndroidRuntime(20708): at android.view.View$PerformClick.run(View.java:19748)
E/AndroidRuntime(20708): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime(20708): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(20708): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(20708): at android.app.ActivityThread.main(ActivityThread.java:5256)
E/AndroidRuntime(20708): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(20708): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(20708): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
E/AndroidRuntime(20708): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
E/AudioTrack( 518): AudioTrack::set : Exit
W/ActivityManager( 518): Force finishing activity pandicam.camerafromlibrary/.MainActivity
Документация для библиотеки для простого использования.
Шаг №1: Установите JAR или AAR, как описано выше.
Шаг # 2: добавьте CameraFragment в свой интерфейс. У вас есть два варианта CameraFragment на выбор:
com.commonsware.cwac.camera.CameraFragment для использования с исходным уровнем API 11+ фрагменты
com.commonsware.cwac.camera.acl.CameraFragment для использования с портировать в пакет Android Поддержка по фрагментам и ActionBarSherlock, поддерживающих уровень 9 API и 10
(примечание: если вы выберете последнее, то ваш проект будет также необходимо иметь проект библиотеки ActionBarSherlock)
CameraFragment отвечает за рендеринга вашего предварительного просмотра, поэтому вам нужно определить размер и положение i t по желанию.
Шаг № 3: Call takePicture() на CameraFragment, когда вы хотите, чтобы сделать снимок, который будет храниться в цифровом каталоге фотографий по умолчанию (например, DCIM) на внешнем накопителе, как Photo_yyyyMMdd_HHmmss.jpg, где заменяется ГГГГММДД_ЧЧММСС по текущей дате и времени. Обратите внимание, что takePicture() может вызывать исключение IllegalStateException, если вы вызываете его до того, как предварительный просмотр будет готов или если вы его вызовете, пока происходит автофокусировка.
Я действительно предлагаю любую помощь по этому вопросу. С уважением
Можете ли вы сказать мне, почему голос? –