Galaxy S2 (android 2.3) と LG P500 (android 2.3) でカメラのファインダーを表示するのに問題があります。SurfaceView にノイズ (干渉) があります。それにもかかわらず、結果の写真にはそのような欠陥はありません。
他のデバイス (Android 4 を搭載した 2.3 および Galaxy S2 を搭載したデバイスを含む) は正常に動作しています。
残念ながら、私はそのようなデバイスを持っていないので、ソース コードを変更するたびにテストすることはできません。たぶん、誰かがすでにこの問題を抱えていましたか?
また、Samsung Remote Test Lab を使用してこのアプリをテストしようとしましたが、残念ながら Android 2.3 を搭載した Galaxy S2 がテーブルに置かれ、彼のカメラは黒くなりました (スプラッシュは何もしません)。この場合、白い帯はありません。
onCreate() :
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mSurfaceHolder.addCallback(this);
...
mSurfaceView.setLayoutParams(lp);
onResume() :
mCamera = Camera.open();
if (mCamera == null) {
Toast.makeText(this, R.string.t_no_camera, Toast.LENGTH_SHORT).show();
finish();
} else {
mCamera.setDisplayOrientation(90);
Parameters p = mCamera.getParameters();
p.setFocusMode(Parameters.FOCUS_MODE_AUTO);
prepareFlash();
if (prepareResolution()) {
Camera.Size size = getBestPreviewSize(mDisplay.getWidth(), mDisplay.getHeight(), p);
if (size != null) {
p.setPreviewSize(size.width, size.height);
}
}
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(mHolder);
} catch (IOException e) {
e.printStackTrace();
}
mCamera.startPreview();
}
surfaceCreated(SurfaceHolder ホルダー):
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
何か案が?どうなり得るか?どんなヒントにも感謝します。