Instascan: Поддержка фронтальных/задних камер

Созданный на 19 июл. 2016  ·  11Комментарии  ·  Источник: schmich/instascan

Самый полезный комментарий

Мой обходной путь, пока это не будет исправлено путем разрешения некоторых пользовательских настроек камеры, состоит в том, чтобы установить первую камеру, которая содержит «назад» внутри своего значения name :

if (cameras.length > 0) {
    var selectedCam = cameras[0];
    $.each(cameras, (i, c) => {
        if (c.name.indexOf('back') != -1) {
            selectedCam = c;
            return false;
        }
    });

    scanner.start(selectedCam);
} else {
    console.error('No cameras found.');
}

Он всегда выбирает заднюю камеру.

Все 11 Комментарий

Есть новости по этому поводу?
Вам нужен пиар? Если да, есть ли у вас подсказки, с чего начать и/или как должен вести себя интерфейс instascan?

Что вы думаете о передаче ограничений в Camera.getCameras() ?

Реализация getCameras может попытаться выполнить getUserMedia с предоставленными ограничениями и отфильтровать камеры, соответствующие этим ограничениям.
см. camera.js#L53

Это также может быть способом исправления № 22, но тогда потребуется передать ограничения разрешения конструктору Camera , чтобы объединить ограничения разрешения со значением по умолчанию, предоставленным в методе start .
см. camera.js#L20

Если кому-то это покажется приемлемым, я готов отправить PR;)

Мой обходной путь, пока это не будет исправлено путем разрешения некоторых пользовательских настроек камеры, состоит в том, чтобы установить первую камеру, которая содержит «назад» внутри своего значения name :

if (cameras.length > 0) {
    var selectedCam = cameras[0];
    $.each(cameras, (i, c) => {
        if (c.name.indexOf('back') != -1) {
            selectedCam = c;
            return false;
        }
    });

    scanner.start(selectedCam);
} else {
    console.error('No cameras found.');
}

Он всегда выбирает заднюю камеру.

мой конец работает, но когда я пытаюсь использовать заднюю камеру, она переворачивается горизонтально .. как вернуть ее в обычное положение? Спасибо

У меня необычная проблема. Неважно, какую камеру я запускаю, она всегда показывает переднюю камеру. Я четко вижу обе камеры на массиве и принудительно запускаю заднюю камеру, тем не менее, скрипт всегда запускает переднюю камеру.
Только что скачал самую последнюю версию iOS.
Настройки:
айфон 6s
iOS 11
Сафари.

Также не загружается камера в Chrome и Firefox для одного и того же устройства/ОС.

Есть идеи?

Спасибо

У меня такая же проблема. Удалось ли выбрать заднюю камеру на IOS?

Спасибо
Хелен

@cbnt
@HelenH
Вы решили эту проблему? Для меня я также вижу, что доступны обе камеры, но переключение или предварительный выбор на заднюю камеру всегда заканчивается переключением на переднюю камеру :(

@schmich Во-первых, большое спасибо за этот замечательный проект! :) Во-вторых, есть ли у вас какая-либо информация о том, является ли это распространенной проблемой Iphone или как это можно исправить?

Примечание. Использование iphone 7 с iOS 11

Привет @Smux ,

Да, выполнил шаги, описанные в выпуске № 54.

клон git [email protected] :schmich/instascan.git
cd instascan/
npm установить gulp-cli -g
установка нпм
выпуск глотком
cp dist/instascan.min.js /path/to/our/libraries/include/dir

Большое спасибо @schmich за этот замечательный проект.

@HelenH
@Смукс

Я исправил проблему с помощью этого форка: https://github.com/PallasKatze/instascan
Тем не менее, необходимо выполнить шаги, описанные в выпуске № 54.

Но он работает нормально.
Просто небольшая проблема с Android, но я считаю, что это одна конкретная версия.

Привет @cbnt ,
Я тоже хочу попробовать. Но минифицированный js заключается в том, что вилка ссылается на тот же js, что и исходная ветка.
Я не могу найти минимизированный js в пакете. КАК я мог это сделать? Есть ли кто-нибудь, кто может связать один рабочий файл js?
Заранее спасибо.

Я знаю, что это основной вопрос и немного не по теме, но я пытался создать выпуск js и не смог - установил npm на свой тестовый сервер, но npm продолжает выдавать ошибки, когда я пытаюсь опубликовать.

Мой обходной путь, пока это не будет исправлено путем разрешения некоторых пользовательских настроек камеры, состоит в том, чтобы установить первую камеру, которая содержит «назад» внутри своего значения name :

if (cameras.length > 0) {
    var selectedCam = cameras[0];
    $.each(cameras, (i, c) => {
        if (c.name.indexOf('back') != -1) {
            selectedCam = c;
            return false;
        }
    });

    scanner.start(selectedCam);
} else {
    console.error('No cameras found.');
}

Он всегда выбирает заднюю камеру.

Мой обходной путь, пока это не будет исправлено путем разрешения некоторых пользовательских настроек камеры, состоит в том, чтобы установить первую камеру, которая содержит «назад» внутри своего значения name :

if (cameras.length > 0) {
    var selectedCam = cameras[0];
    $.each(cameras, (i, c) => {
        if (c.name.indexOf('back') != -1) {
            selectedCam = c;
            return false;
        }
    });

    scanner.start(selectedCam);
} else {
    console.error('No cameras found.');
}

Он всегда выбирает заднюю камеру.

@clytras хорошее решение! Но что произойдет, если у мобильного телефона более одной задней камеры?

Я попробовал это решение, и с первой задней камерой массива изображение ужасное с большим увеличением. Я не могу ничего сканировать.

Но если я использую вторую заднюю камеру, она работает отлично, и я могу сканировать все.

Мой вопрос: существует ли способ определить, какая основная задняя камера? Представьте, если сайтом пользуются разные пользователи, а значит, у них будут разные устройства, и количество задних камер будет разным, и порядок возврата.

Большое спасибо.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги