using Android.App;
using Android.Content.PM;
using Android.OS;
using AndroidX.Core.App;
using Android;
using AndroidX.Core.Content;
using Java.Util.Concurrent;
using AndroidX.Camera.Lifecycle;
using AndroidX.Camera.Core;
namespace BadClaims
{
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
private string[] REQUIRED_PERMISSIONS = new[] { Manifest.Permission.Camera, Manifest.Permission.RecordAudio, Manifest.Permission.WriteExternalStorage };
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
if (allPermissionsGranted()) return;
ActivityCompat.RequestPermissions(this, new[] { Manifest.Permission.Camera, Manifest.Permission.RecordAudio, Manifest.Permission.WriteExternalStorage }, 10);
}
private IExecutorService cameraExecutor { get; set; } = null!;
private bool allPermissionsGranted() => REQUIRED_PERMISSIONS.Select(x => ContextCompat.CheckSelfPermission(BaseContext, x)).ToList().All(x => x == Permission.Granted);
protected override void OnDestroy()
{
base.OnDestroy();
cameraExecutor?.Shutdown();
}
private async void startCam() {
var cameraProviderFuture = ProcessCameraProvider.GetInstance(BaseContext);
// var x= cameraProviderFuture.Get();
// var preview = new Preview.Builder().Build().;
// cameraProviderFuture.AddListener( ,ContextCompat.GetMainExecutor(BaseContext));
}
}
}
正如你所看到的,我试着理解xamarin,我喜欢关注的是"var cameraProviderFuture"
我喜欢的是,我喜欢流到mp4文件。。我可以选择任何camrea在一个android。
基本型
1.)获取Android中的所有camrea设备。
2.)启动和停止..
3.)使它的格式,也许mp4容易理解的格式,以流。4。)whit出任何surix或布局
我尝试从java转换..
我迷路了。
我找不到任何关于如何找到多少相机的信息。
我喜欢用相机。
1条答案
按热度按时间cyvaqqii1#
使用Camera2需要的库已经集成到xamarin中,所以你可以根据原生android官方文档来使用它。
Camera2的官方装订库文档:https://github.com/xamarin/AndroidX/tree/main/source/androidx.camera
绑定库文档:https://learn.microsoft.com/en-us/xamarin/android/platform/binding-java-library/