私がフォローしているチュートリアルに少し問題があります。カメラ プレビューを使用して Android アプリケーションを作成したいのですが、今までその方法を示す適切なチュートリアルが見つかりませんでした。ここにリンクがありますチュートリアル 「カメラのプレビュー」の代わりに「意図のあるカメラ」を使用できるかどうか、私は完全に確信が持てませんか?私は何をしますか。
ありがとう :)
以下のチュートリアルが役に立ちます。
http://www.vogella.com/articles/AndroidCamera/article.html
写真を撮るために内蔵カメラインテントを呼び出します。
public class demo extends Activity {
Button ButtonClick;
int CAMERA_PIC_REQUEST = 1337;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ButtonClick =(Button) findViewById(R.id.Camera);
ButtonClick.setOnClickListener(new OnClickListener (){
@Override
public void onClick(View view)
{
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
// request code
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if( requestCode == 1337)
{
// data.getExtras()
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
Now you have received the bitmap..you can pass that bitmap to other activity
and play with it in this activity or pass this bitmap to other activity
and then upload it to server.
}
else
{
Toast.makeText(demo.this, "Picture NOt taken", Toast.LENGTH_LONG);
}
super.onActivityResult(requestCode, resultCode, data);
}
}
現在、CameraPreviewSampleプロジェクトのフォークに取り組んでいます。この例の良いところは、カメラ プレビューを機能させるために必要ないくつかの手順について、github ソースがタグ付けされていることです。
そのため、いくつかのタグを実行している場合 (詳細については readme を確認してください) を検討することをお勧めします。
もう 1 つの優れたリソースは、Google のトレーニング記事です。カメラについては、カメラ コントロールに関する Android トレーニング記事が最適です。
SurfaceView
orを直接使用TextureView
することはお勧めしません。代わりに PreviewView を使用してください。CameraX Jetpack ライブラリのPreviewView
一部である は、開発者にとって使いやすく、一貫性があり、安定した API をさまざまな Android デバイスに提供することで、開発者がカメラのプレビューを簡単に表示できるようにします。
xml で
<androidx.camera.view.PreviewView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:scaleType="fitCenter" />
あなたのコードでは、
// Create a preview use case instance
val preview = Preview.Builder().build()
//camera selector
val cameraSelector : CameraSelector = CameraSelector.Builder()
.requireLensFacing(CameraSelector.LENS_FACING_BACK)
.build()
// Bind the preview use case and other needed user cases to a lifecycle
val camera = cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview)
// Create a surfaceProvider using the bound camera's cameraInfo
val surfaceProvider = previewView.createSurfaceProvider(camera.cameraInfo)
// Attach the surfaceProvider to the preview use case to start preview
preview.setSurfaceProvider(surfaceProvider)
ここで完全なドキュメントを参照してください。