标签: android-camera

ZXing 强制 Android 设备上的后置摄像头?

我正在构建一个使用 ZXing 库扫描条形码的项目。目前,我的代码适用于 iOS 设备,打开后置摄像头,但在使用 Android 设备进行测试时,它会打开前置摄像头。有没有办法让我始终强制在任何设备上使用后置摄像头?请参阅下面的工作代码:

    <script type="text/javascript">
        window.addEventListener('load', function () {
            let selectedDeviceId;
            const codeReader = new ZXing.BrowserMultiFormatReader();
            console.log('ZXing code reader initialized');
            codeReader.getVideoInputDevices()
                .then((videoInputDevices) => {
                    if (videoInputDevices.length < 1) {
                        console.log('No video devices found');
                        return;
                    }

                    selectedDeviceId = videoInputDevices[0].deviceId;

                    codeReader.decodeFromVideoDevice(selectedDeviceId, 'video', (result, err) => {
                        if (result) {
                            console.log(result);
                            var barcode = result;
                            //this.window.alert(barcode);
                            if (String(barcode).charAt(0) == 'L') {
                                document.getElementById('result').textContent = result.text;
                                document.getElementById('result').style.color = "green";
                                var previousurl = document.referrer;
                                window.location.href = previousurl + "&BarCode=" + result.text;
                            } …
Run Code Online (Sandbox Code Playgroud)

javascript android zxing android-camera zxing-js

3
推荐指数
1
解决办法
3673
查看次数

Android mlkit 条码扫描器提高速度

您好,我正在使用 android mlkit 条码扫描仪,无需 firebase 和 androidx ,我遵循此代码https://medium.com/@surya.n1447/google-vision-ml-kit-with-camerax-64bbbfd4c6fd 当我扫描 qrcode 时,它​​是太慢了,我不知道如何提高扫描速度,是否有一些技巧或类似的东西?还是改用 zxing 还是 Google Vision 更好?我用的是小米10T Pro

类 ScanPersonFragment : Fragment() {

private var processingBarcode = AtomicBoolean(false)
private var mediaPlayer: MediaPlayer? = null
private lateinit var cameraExecutor: ExecutorService
private lateinit var scanBarcodeViewModel: ScanPersonViewModel


override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    cameraExecutor = Executors.newSingleThreadExecutor()
    scanBarcodeViewModel = ViewModelProvider(this).get(ScanPersonViewModel::class.java)
}

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    val v = inflater.inflate(R.layout.fragment_scan_person_destination, container, false)
    mediaPlayer = MediaPlayer.create(context, R.raw.beep)
    scanBarcodeViewModel.progressState.observe(viewLifecycleOwner, …
Run Code Online (Sandbox Code Playgroud)

android computer-vision android-camera firebase-mlkit google-mlkit

3
推荐指数
1
解决办法
6006
查看次数

如何在Android 10及更高版本中通过intent MediaStore.ACTION_IMAGE_CAPTURE获取图像URI

对于版主:我知道已经存在这样的问题,但所有这些方法最终都会给出位图,data.getExtra("data")实际上只是thumbnail. 我想要获取 URI 而不是位图,并且我需要使用2021. 在将问题标记为重复之前,请考虑这一点!

我从相机获取图像,它在较低设备上工作正常,但onActivityResult仅在 Android 10 和 11 中调用时它在数据中给出空值。

这就是我正在做的

val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent, ACTION_REQUEST_CAMERA)
Run Code Online (Sandbox Code Playgroud)

这是我的 onActivityResult

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == RESULT_OK && requestCode == ACTION_REQUEST_CAMERA) {

            data?.data?.let { uri ->
                 Toast.makeText(context, "Got URI", Toast.LENGTH_LONG).show()
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

android android-camera

3
推荐指数
1
解决办法
4781
查看次数

如何使用相机应用程序通过 Jetpack Compose 拍照?

在我使用 Jetpack Compose 的应用程序中,如何使用现有的库存照片应用程序拍摄照片并存储它?Google 的文档Camera通过使用 提到了已弃用的 API Intent,但他们使用的是旧的视图系统。看起来更新的APICamera2CameraXAPI 都是为了直接在应用程序中创建自定义相机界面。

android android-camera android-jetpack-compose

3
推荐指数
1
解决办法
6334
查看次数

如何检查Android手机的相机是否支持自动对焦

我知道用Camera.open()和getParameter来检查焦点模式是否有效.

但似乎打开相机会有一点点声音,我不想......

我可以通过任何其他方式获得相机是否支持自动对焦?

camera android autofocus android-camera

2
推荐指数
1
解决办法
3170
查看次数

检测相机是否已打开

我正在制作一款使用相机手电筒的应用程序.

我打开相机:

 Camera cam = Camera.open();
Run Code Online (Sandbox Code Playgroud)

当我启动我的应用程序时,如果另一个应用程序已经在使用相机,我收到一个错误:

java.lang.RuntimeException: Fail to connect to camera service
Run Code Online (Sandbox Code Playgroud)

首先,如果已经被另一个应用程序打开,有没有办法仍然使用相机?

如果不可能,我希望我的应用程序显示消息"相机已在使用中"而不是崩溃.

在这种情况下,如何检测相机是否已被其他应用程序打开?

android android-camera

2
推荐指数
1
解决办法
4433
查看次数

用相机拍照和获取图片路径android

我的应用程序使用手机相机拍照并将图片存储在手机图库中.我想获得该图片路径并将其存储在我的数据存储区中.有人可以帮帮我吗?继承我的代码:

public void onClick(View v){
        switch(v.getId())
        {
            case R.id.btnLoadPic:

                //Options for the dialogue menu
                final CharSequence[] items = {"Camera", "Gallery"};

                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Choose an Option");
                builder.setItems(items, new DialogInterface.OnClickListener() {
                    /**
                     * Make onclick functionality for the options in the dialogue menu
                     */
                    public void onClick(DialogInterface dialog, int item) {

                        // Camera option
                        if (item == 0){

                            PackageManager pm = getPackageManager();

                            if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
                                //Toast.makeText(this, "camera", Toast.LENGTH_SHORT).show();
                                dispatchTakePictureIntent(11);
                            } else {
                                Toast.makeText(null, "No camera avalible", Toast.LENGTH_SHORT).show();

                            }
                        }
                        // …
Run Code Online (Sandbox Code Playgroud)

android android-image android-camera android-imageview

2
推荐指数
1
解决办法
9777
查看次数

如何在Android中更改相机LED /手电筒的颜色

我正在尝试改变Android中相机LED /手电筒的颜色.他们有什么办法实现这个目标?

我知道我们可以在Nexus One Track Ball上改变颜色.我试图在Android中更改相机LED /手电筒颜色.

android android-camera camera-flash

2
推荐指数
1
解决办法
3万
查看次数

OpenCV与Android捕获图像

在Android中捕获图像并使用opencv处理它们的最佳方法是什么?我应该使用表面视图在这里或我应该使用opencv相机中的opencv相机吗?以及如何加载捕获的图像并将其转换为Mat?提前致谢

 private PictureCallback mPicture = new PictureCallback() {

        @Override
    public void onPictureTaken(byte[] data, Camera camera) {

        File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);
        if (pictureFile == null) {
            Log.d("E",
                    "Error creating media file, check storage permissions ");
            return;
        }

        try {

            FileOutputStream fos = new FileOutputStream(pictureFile);
            fos.write(data);
            fos.close();
            //processImage();
        } catch (FileNotFoundException e) {
            Log.d("E", "File not found: " + e.getMessage());
        } catch (IOException e) {
            Log.d("E", "Error accessing file: " + e.getMessage());
        }
    }
Run Code Online (Sandbox Code Playgroud)

android opencv android-camera

2
推荐指数
1
解决办法
5431
查看次数

从相机应用程序通过意图返回时,Android活动被破坏

我的活动使用用户定义的对象来跟踪进度.当用户按下按钮并将其存储在其中一个对象中时,我需要从相机中获取图像.

问题是,有时它工作正常,但很多时候它重新初始化我的活动,因此所有对象和我的进度都丢失了.据我所知,这可能是因为相机是一个内存密集型应用程序,而在后台,操作系统会破坏我的应用程序以释放内存.

我宁愿不让我的对象Parcable,然后将它们保存到Bundle.

我修改了我的android清单,以便活动标签包含

android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)

这是我的相机意图

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent,REQUEST_IMAGE_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

这是onActivityResult方法

protected void onActivityResult(int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == Activity.RESULT_OK )
        modifyResponseView_image();
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了更多的建议,并认为将我的活动保持在前台可能会有所帮助,但我不确定它是否会发生,也不确定如何去做.

我们将非常感谢您提供的任何帮助.应用此功能的替代方案也会有所帮助.

android android-intent android-camera android-activity

2
推荐指数
1
解决办法
2276
查看次数