2012-04-17 4 views
0

웹 카메라가 작동하지 않습니다.컴퓨터에서 안드로이드 카메라 응용 프로그램을 실행할 때 웹캠이 작동하지 않을 때 웹캠이 열리지 않습니다.

여기 코드. Manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.examples" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="8" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

<uses-permission android:name="android.permission.CAMERA" /> 
</manifest> 

main.xml에이 코드를 실행하면, 웹 카메라를 시작할 수

package com.examples; 

import java.io.IOException; 
import android.app.Activity; 
import android.hardware.Camera; 
import android.hardware.Camera.PictureCallback; 
import android.hardware.Camera.ShutterCallback; 
import android.os.Bundle; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageButton; 

public class MainActivity extends Activity implements SurfaceHolder.Callback{ 

     private Camera camera; 
    private ImageButton cameraClick; 
    private SurfaceHolder mHolder; 

/** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    SurfaceView surfaceView = (SurfaceView)findViewById(R.id.surfaceView1); 
    mHolder = surfaceView.getHolder(); 
    mHolder.addCallback(this); 
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

    cameraClick = (ImageButton) findViewById(R.id.cameraClick); 
    cameraClick.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) 
       { 
camera.takePicture(shutterCallback, rawCallback,jpegCallback); 
    } 
    }); 

    } 

    // Handles when shutter open 
    ShutterCallback shutterCallback = new ShutterCallback() 
    { 
    public void onShutter() 
    { 

    } 
    }; 

    /** Handles data for raw picture */ 
    PictureCallback rawCallback = new PictureCallback() 
    { 
    public void onPictureTaken(byte[] data, Camera camera) 
    { 

    } 
    }; 

    /** Handles data for jpeg picture */ 
    PictureCallback jpegCallback = new PictureCallback() 
{ 
    public void onPictureTaken(byte[] data, Camera camera) 
{ 
    // we do something using return byte[] of taken image. 
    } 
    }; 

    @Override 
    public void surfaceChanged(SurfaceHolder holder,int format,int width,int height) 
{ 

    // Set camera preview size,orientation,rotation using parameters 

Camera.Parameters parameters = camera.getParameters(); 
    parameters.set("orientation", "portrait"); 
    camera.setParameters(parameters); 
    camera.startPreview();  

    } 

    @Override 
    public void surfaceCreated(SurfaceHolder holder) 
{ 
    camera = Camera.open(); 
    try { 
    camera.setPreviewDisplay(holder); 
    } 
catch (IOException e) 
{ 
    e.printStackTrace(); 
    } 

    } 

    @Override 
    public void surfaceDestroyed(SurfaceHolder holder) 
{ 
    camera.stopPreview(); 
    camera.release(); 
    camera = null; 

    } 

} 

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" > 
    <FrameLayout 
    android:layout_weight="1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

<SurfaceView 
android:id="@+id/surfaceView1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
/> 

</FrameLayout> 
    <LinearLayout 
    android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
    android:orientation="horizontal" 
android:layout_marginTop="300px" 
android:paddingLeft="5px" 
android:paddingTop="5px" 
android:paddingRight="5px">  

<ImageButton 
    android:layout_width="50px" 
    android:textColor="#ffffff" 
    android:layout_height="50px" 
    android:id="@+id/cameraClick " 
     /> 

    </LinearLayout> 

    </RelativeLayout> 

자바 파일. 친절하게도이 문제를 해결하도록 도와주세요. 감사합니다

+1

그러면 실제로 어떻게됩니까? Logcat 또는 직면 한 문제가 있습니까? –

+1

Eclipse를 사용하여이 응용 프로그램을 실행하면 웹 카메라가 갑자기 닫히고 닫힙니다. –

답변

0

이 질문은 유감입니다. 컴퓨터 웹 카메라가 Android 에뮬레이터와 통합되지 않았습니다. 이 코드를 작성하면 안드로이드에 익숙하지 않습니다. 그래서 나는이 간단한 일에 대해 몰랐다.

관련 문제