2017-10-17 1 views
-1

私はXamarinを使用してAndroid上にカメラアプリを構築しようとしています。私がしようとしているのは、ユーザーが「画像を撮る」ボタンを押すと、カメラは自動的にバックカメラをフロントカメラに切り替えて画像をキャプチャし、「撮影画像」ボタンは2つのことを行います。同時に撮影することができます。カメラアプリの「画像を撮る」ボタンの1ヒット分の作業を追加するには?

私はXamarinとAndroidアプリを開発するのが初めてです。私は多くのチュートリアルを探してカメラアプリを構築しましたが、単純なようで、ユーザーが「撮影画像」ボタンを押すとオーバーライド機能は表示されません。ここでの主な活動で自分のコード(だけのシンプルなカメラアプリを構築する):

ImageView imageView; 

    protected override void OnCreate(Bundle savedInstanceState) 
    { 
     base.OnCreate(savedInstanceState); 

     // Set our view from the "main" layout resource 
     SetContentView(Resource.Layout.Main); 

     var btnCamera = FindViewById<Button>(Resource.Id.btnCamera); 
     imageView = FindViewById<ImageView>(Resource.Id.imageView); 

     btnCamera.Click += BtnCamera_Click; 

    } 

    protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) 
    { 
     base.OnActivityResult(requestCode, resultCode, data); 
     Bitmap bitmap = (Bitmap)data.Extras.Get("data"); 
     imageView.SetImageBitmap(bitmap); 
    } 
    // When user tap on the button, open camra app 
    private void BtnCamera_Click(object sender, System.EventArgs e) 
    { 
     Intent intent = new Intent(MediaStore.ActionImageCapture); 
     StartActivityForResult(intent, 0); 
    } 

任意のアイデアは、おかげで大いに役立つでしょう。

答えて

1

意図インテント=新しいインテント(MediaStore.ActionImageCapture);

この方法では、システムのカメラアプリを使用していますが、ここではこの方法でフロント/バックカメラを変更することはできません。

このチュートリアルを読むことができます:Display a stream from the cameraAndroid.Hardware.Cameraを使用して独自のカメラアプリを構築する方法を示します。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextureView 
     android:id="@+id/textureView" 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" /> 

    <Button 
     android:id="@+id/takephotoBtn" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:text="take photo" /> 
</RelativeLayout> 

あなたはAndroid.Hardware.Camera.Open Methodによってカメラのフロント/バックカメラを変更することができます。ユーザーが写真を撮ることができますので、あなたはこのように例えば、あなたのカメラのプレビュービューを作成することも視野にButtonを追加するには

SO:Android: Switch camera when button clicked のこのスレッドを参照してください。 Xamarin Androidのコードは、Javaのコードと同じである可能性があります。

これは、「画像を撮る」ボタンが2つのことを行うことを意味します。カメラと画像を同時に切り替えます。

ところで、私は良いアイデアだとは思わない、あなたのアプリを配線します。なぜあなたはこれをしたいのですか?

関連する問題