10

一部のデバイスでは、カメラ プレビューを表示するためにonPreviewFrameno が設定されている場合、呼び出されません。SurfaceViewただし、サービスでカメラを扱うため、設定はできませんが、SurfaceViewとにかくプレビューを表示したくありません。

これはどのように行うことができますか?プログラムで を作成してSurfaceViewで設定できますCamera::setPreviewDisplayか?

これは可能である必要がありますか?

SurfaceViewHTC One X や Google Nexus One ではなく、ほぼすべての携帯電話で動作します...

4

3 に答える 3

4

この質問によるとSurfaceView、コード内での作成は正常に機能します。サービスで作成できるとは思いませんが。

SurfaceView別のアプローチは、内に1px-1px を作成し、そのRelativeLayout上に他のビューを置いて非表示にすることです。(可視性はまだ である必要がありますVISIBLE)。OpenGL を介してプレビュー バッファをレンダリングするパスカメラ UI にこのトリックを使用すると、正常に動作します。

于 2013-01-04T08:16:13.423 に答える
1

ドキュメントによると、カメラ プレビューをアクティブにするには、表示および表示されたサーフェス ビューが必要です。重なるかもしれませんが

于 2013-01-04T09:21:58.710 に答える
0

From API 11 on, you can use a SurfaceTexture instead of a SurfaceView to get frames from the camera. Then, instead of using Camera.setPreviewDisplay, simply use Camera.setPreviewTexture.

This answer as well as this one discuss this point.

于 2014-06-16T07:26:18.630 に答える