私はXamarin Visual Studioでカスタムカメラアプリケーションを作成しました。これは解像度が非常に低いので、このコードを追加しました。私はカメラパラメータを取得firtsラインでXamarinはカメラの解像度を設定します
public void OnSurfaceTextureAvailable(Android.Graphics.SurfaceTexture surface, int w, int h)
{
_camera = Android.Hardware.Camera.Open();
Android.Hardware.Camera.Parameters param = _camera.GetParameters();
IList<Android.Hardware.Camera.Size> supportedSizes = param.SupportedPictureSizes;
Android.Hardware.Camera.Size sizePicture = supportedSizes[0];
param.SetPictureSize(sizePicture.Height, sizePicture.Width);
_camera.SetParameters(param);
var previewSize = _camera.GetParameters().PreviewSize;
_textureView.LayoutParameters =
new FrameLayout.LayoutParams(h, w, GravityFlags.Center);
try
{
_camera.SetPreviewTexture(surface);
_camera.StartPreview();
}
catch (Java.IO.IOException ex)
{
Console.WriteLine(ex.Message);
}
_textureView.Rotation = 90.0f;
}
、その後、私はfirtsを選択し、その後サポートされている画像サイズを([0])を取得し、finallly私は、画像サイズを設定
Android.Hardware.Camera.Parameters param = _camera.GetParameters();
IList<Android.Hardware.Camera.Size> supportedSizes = param.SupportedPictureSizes;
Android.Hardware.Camera.Size sizePicture = supportedSizes[0];
param.SetPictureSize(sizePicture.Height, sizePicture.Width);
_camera.SetParameters(param);
しかし、私は、コードを実行すると、このメッセージが現れます:
未処理の例外:
Java.Lang.RuntimeException:setParametをers failed
ここで何が間違っていますか?関数が返すサポートされているサイズを設定できません。どのように私はそれらのいずれかを選択する最初の?私は考慮に入れなければならない何か他のものがありますか?
迅速な発言。インデックス0にあるものが必ずしも最良のものであるとは限りません。これはNexus 4,5および5Xでは当てはまりますが、ソニーの一部のデバイスではそうではありません。 –
アドバイスをいただきありがとうございます。 –