पहली चीजें पहले: निम्न त्रुटि 2 अलग-अलग एचटीसी इच्छाओं पर होती है, एक 2.3.3 के साथ, एक 4.0.4 के साथ।टेक चित्रण ढेर से संबंधित त्रुटि
मैं निम्न त्रुटि संदेश .takePicture कॉल करने के लिए कोशिश कर रहा है जब मिलता है:
E/MemoryHeapBase(104): error opening /dev/pmem_camera: No such file or directory
E/QualcommCameraHardware(104): failed to construct master heap for pmem pool /dev/pmem_camera
E/QualcommCameraHardware(104): initSnapshot X failed with pmem_camera, trying with pmem_adsp
इसी PictureCallback इस त्रुटि के बाद लागू किया कभी नहीं किया गया है।
केवल एक ही स्पष्टीकरण जो मुझे मिल सकता था ए) प्रारंभ पूर्वावलोकन को नहीं बुलाया गया था; बी) तस्वीरों को बहुत तेजी से लेने की कोशिश कर रहा है (चित्र कॉलबैक लागू होने से पहले); ग) सही उपयोग करता है की स्थापना नहीं/अनुमतियाँ
मैं क्या क) यहाँ, onResume() मेरी FullscreenActivity की में:
//open the camera resource
cam = Camera.open();
Camera.Parameters params = cam.getParameters();
//change Parameters
params.setJpegQuality(100);//best quality
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
//params.setZoom(2);
List<Size> supportedPreviewSizes = cam.getParameters().getSupportedPreviewSizes();
params.setPreviewSize(supportedPreviewSizes.get(0).width, supportedPreviewSizes.get(0).height);
cam.setParameters(params);
SurfaceView sv = (SurfaceView)this.findViewById(R.id.surfaceView1);
SurfaceHolder mHolder = sv.getHolder();
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mHolder.setSizeFromLayout();
mHolder.addCallback(this);
try {
cam.setPreviewDisplay(mHolder);
} catch (IOException e) {
Log.d(TAG, "Error setting camera preview: " + e.getMessage());
}
//Log.d(TAG, "Starting Preview");
cam.startPreview();
ख) मेरे लिए लागू नहीं करना चाहिए के रूप में मैं केवल लेने का प्रयास एक ही चित्र
ग): का उपयोग करता है-भाग मेरी प्रकट की:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-feature android:name="android.hardware.camera.flash"/>
कुछ अतिरिक्त कोड:
जहां मैं टेक लेने का आह्वान करता हूं (ध्यान दें कि यहां रिकॉर्डिंग का मतलब है कि एक AsyncTask को कॉल करने की अनुमति है इसे पूरा करने के बाद फिर से चित्रण। अप्रासंगिक तथापि के रूप में त्रुटि कभी बुला AsyncTask बिना बनी रहती है):
findViewById(R.id.snap_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
recording = !recording;
Button btn = (Button)findViewById(R.id.snap_button);
if(recording) {
//update buttontext
btn.setText("Stop");
//start recording by taking a picture
cam.takePicture(null,null, mPicture);
} else {
//update button text
btn.setText("Start");
}
}
});
संपादित करें: थोड़ा मेरी लेआउट फेरबदल pictureCallback अंत में शुरू हो जाती है और मैं मान्य डेटा (Yay मिल) के बाद, हालांकि त्रुटि बनी रहती है। यहां मेरा वर्तमान लेआउट है:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<SurfaceView
android:id="@+id/surfaceView1"
android:layout_width="0dp"
android:layout_height="369dp"
android:layout_weight="1.55" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/snap_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Capture" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
क्या आपने समस्या हल की है? –
क्या यह कोड निष्पादित होने पर आपके पास एसडी कार्ड घुड़सवार है? http://forum.xda-developers.com/showthread.php?t=819037#6 –
मैं एसडीकार्ड पर जो चित्र लेता हूं उसे सहेज रहा हूं, इसलिए कोई यह मान लेगा कि यह सही ढंग से घुड़सवार है। मैंने अभी अन-और रीमाउंटिंग करने की कोशिश की लेकिन त्रुटि संदेश बनी हुई है। –