저는 초보자 프로그래머이며 카메라에 문제가 있습니다. 제가하려고하는 것은 카메라에서 미리보기를 얻는 것입니다. 문제는 Camera.open()이 항상 null을 반환한다는 것입니다. 코드는 다음과 같이 진행됩니다Android 에뮬레이터의 카메라가 작동하지 않습니다.
CameraPreview.java
public class CameraPreview extends Activity implements SurfaceHolder.Callback
{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera_preview);
SurfaceHolder holder;
SurfaceView preview = (SurfaceView) findViewById(R.id.surface1);
holder = preview.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
Camera camera = Camera.open();
if(camera!=null)
{
try
{
camera.setPreviewDisplay(holder);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
camera.startPreview();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
}
의 AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.paparazzi"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".CameraPreview"> </activity>
</application>
에뮬레이터 설정 :
hw.lcd.density=240
hw.cpu.arch=arm
skin.name=WVGA800
sdcard.size=64M
abi.type=armeabi-v7a
hw.camera.back=emulated
image.sysdir.1=system-images\android-16\armeabi-v7a\
hw.gpu.enabled=yes
hw.camera.front=emulated
skin.path=platforms\android-16\skins\WVGA800
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=512
나는 안드로이드 P와 일식 사용 lugin과 최신 sdk. 나는 정말로 어떤 제안이라도 고맙게 생각할 것이다.
테스트를 사용하여 코드의 거의 라인으로 수행 할 수 없음 에뮬레이터에서 카메라 리소스를 지원하지 않으므로 ... –
자, 고마워, 그래도 작동하지 않습니다. 이번에는 간단하게 설명하겠습니다 - 카메라를 에뮬레이터에서 제대로 작동시키는 것이 가능하다고 생각합니까 아니면 실제 장치를 사용해야합니까? –
카메라가 에뮬레이터에서 작동하지 않으므로 에뮬레이터에서 테스트 할 수 없습니다. Mainank에서 이미 말한대로 실제 장치에서 응용 프로그램을 테스트해야합니다. – banzai86