Спасибо за эту Великую работу,
мы пытаемся реализовать этот код для сканирования QR-кода в браузере IOS, мы тестируем последнюю бета-версию IOS11, которая поддерживает Web RTC.
у нас есть доступ к камере eth и webRTC getUserMedia ()
однако я получаю постоянную ошибку = Необработанное отклонение обещания: TypeError: Введите ошибку в строке 13231
<br i="9"/>
case 3:<br i="10"/>
return this._stream = i.sent, i.abrupt("return", window.URL.createObjectURL(this._stream));<br i="11"/>
также версия IOS webkit, совместимая с RTC = 604
поэтому, вероятно, потребуется обновить строку 13168
<br i="16"/>
if (!navigator.userAgent.match(/Version\/(\d+).(\d+)/))<br i="17"/>
return e.browser = "Unsupported webkit-based browser with GUM support but no WebRTC support.", e;<br i="18"/>
e.browser = "safari", e.version = this.extractVersion(navigator.userAgent, /AppleWebKit\/([0-9]+)./, 1), e.minVersion = 602<br i="19"/>
}<br i="20"/>
Награда в размере 500 долларов Я не могу решить эту проблему Возможно, награда в размере 500 долларов подтолкнет кого-то, кто более способен, чем я, решить эту проблему. Я считаю, что бета-версия IOS11 теперь поддерживает webRTC getUserMedia (). Вы можете увидеть рабочую демонстрацию (только если у вас установлена бета-версия iOS11 :-) -> https://tokbox.com/developer/sdks/js/ -> https://tokbox.com/developer/beta/safari /
Эта награда все еще действительна - и я буду ее отмечать.
мы намерены использовать instascan в нашем проекте, но нуждаемся в некоторой поддержке (за которую мы готовы платить)
есть ли кто-нибудь, кто может
[1] решить проблему
[2] внести открытый исходный код в проект instascan.
[3] и заработайте немного денег за свои усилия
+1
@ddwyer Недавно мы внедрили Instascan в наше приложение. Это отличная библиотека, и она работала так, как ожидалось. Мы не использовали выпущенную версию, а построили свежую от мастера.
Вот что я сделал, чтобы получить свежую сборку нашего приложения:
git clone [email protected]:schmich/instascan.git
cd instascan/
npm install gulp-cli -g
npm install
gulp release
cp dist/instascan.min.js /path/to/our/libraries/include/dir
Выбор камеры по идентификатору не сработал. Всегда использовала переднюю камеру. Мы решили эту проблему, добавив некрасивый патч в camera.js:
diff --git a/src/camera.js b/src/camera.js
index 5403b3c..4a46e32 100644
--- a/src/camera.js
+++ b/src/camera.js
@@ -31,6 +31,11 @@ class Camera {
}
};
+ var userAgent = window.navigator.userAgent;
+ if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) {
+ constraints.video.facingMode = "environment";
+ }
+
this._stream = await Camera._wrapErrors(async () => {
return await navigator.mediaDevices.getUserMedia(constraints);
});
Я бы не стал создавать пиар для этого изменения, потому что это не лучшее решение. Но он работает, смело используйте его в своих проектах.
Просто к сведению, в бета-версии iOS11 элементу <video />
нужен атрибут playsinline
. Некоторое время казалось, что это ошибка, но теперь, когда она скоро вышла из бета-версии idk ...
https://github.com/serratus/quaggaJS/commit/e8352c7017a2f7a7500fa054f342b9689ff5d8b7#diff -afd7828cb7f3e7a1f8fe7305f50b5021
https://github.com/PaulKinlan/qrcode/commit/b79718b2391969b2291db93ba388b4c2b2f3f9d4
Я могу подтвердить, что мы следовали инструкциям @inorbert и shazam ... как по волшебству, все работает.
мы постараемся улучшить то, что мы нашли, и сообщим об этом.
- Даррен
Это исправлено в schmich / instascan / pull / 78. Не забудьте вручную включить в свой проект последние webrtc-adapter
.
@PallasKatze - это ГУРУ javascript - сейчас все работает, и, может быть, стоит протестировать и объединить? в случае, если кому-то интересно, награда была выплачена полностью - спасибо за помощь.
почему я не работаю на safari11
var userAgent = window.navigator.userAgent;
Вот работающая версия, скомпилированная с https://github.com/centogram/instascan
instascan.zip
@centogram Могу ли я использовать переднюю камеру с вашим кодом ios11? Благодарность :)
@pandalion да, но вам нужно будет изменить код. Вам просто нужно изменить ограничение constraints.video.facingMode с «environment» на «user».
@centogram работает как шарм. Грац!
@centogram @hrrsppzgl
в какой строке я должен его изменить?
@centogram @hrrsppzgl
в какой строке я должен его изменить?
@ adelsadek1
Что тебе действительно нужно? Вы скачали отсюда модифицированный код
https://github.com/centogram/instascan
@hrrsppzgl да, у меня есть, но все еще не работает @centogram, упомянутая для изменения строки, но я не
@hrrsppzgl да, у меня есть, но все еще не работает @centogram, упомянутая для изменения строки, но я не
Ищи
FaceMode: {точное: "среда"},
Измените «окружение» на «пользователь»
Привет @lnorbert
Я пытался пойти по твоим стопам,
git clone [email protected]:schmich/instascan.git
cd instascan/
npm install gulp-cli -g
npm install
gulp release
cp dist/instascan.min.js /path/to/our/libraries/include/dir
Но при попытке первого cmd он выдает ошибку ниже
Пожалуйста, вы можете мне помочь?
Спасибо
Самый полезный комментарий
Вот работающая версия, скомпилированная с https://github.com/centogram/instascan
instascan.zip