我建立类似项目的这个例子有jsartoolkit5,我想能够选择我的设备的背面摄像头,而不是让的Chrome上Android选择前一个为默认值.
根据本演示中的示例,如果设备有后置摄像头,我已添加以下代码自动切换摄像头.
var videoElement = document.querySelector('canvas');
function successCallback(stream) {
window.stream = stream; // make stream available to console
videoElement.src = window.URL.createObjectURL(stream);
videoElement.play();
}
function errorCallback(error) {
console.log('navigator.getUserMedia error: ', error);
}
navigator.mediaDevices.enumerateDevices().then(
function(devices) {
for (var i = 0; i < devices.length; i++) {
if (devices[i].kind == 'videoinput' && devices[i].label.indexOf('back') !== -1) {
if (window.stream) {
videoElement.src = null;
window.stream.stop();
}
var constraints = {
video: {
optional: [{
sourceId: …Run Code Online (Sandbox Code Playgroud) 我(再次)使用JSartoolkit 5(https://github.com/artoolkit/jsartoolkit5)时遇到了麻烦.
我正在尝试使用我的设备的后置摄像头(Android - Nexus 5x,如果这很重要).我已经看到这个框架使用.dat文件来导入凸轮设置.
所以,我使用.dat了repo中提供的文件(那里:https://github.com/artoolkit/jsartoolkit5/tree/master/examples/Data).
但这两个文件都使用我的Android设备上的用户(面向)凸轮.
有人有一个我可以用来在Android上传输后置摄像头的文件吗?或者知道如何设置它?
编辑:
我使用了这个应用程序https://play.google.com/store/apps/details?id=com.artoolworks.ar.utils.calib_camera,如artoolkit文档中所述.但是,当我完成校准过程时,它会说它上传数据:我不知道在哪里,以及我如何使用它.有人能告诉我如何从这个应用程序导出.dat文件?
在使用各种尺寸和距离的默认和自定义标记/模型进行测试后,我得出结论,我的AR模型有癫痫发作(抖动/闪烁/像疯了一样摇晃)是因为我的手部动作.当(手机)相机静止时,相机稳定时型号稳定.
因为目的是与公众(或任何电话支持WebRTC的人)共享最终产品,我无法校准AR相机,因为这只能解决我的(电话)问题,而不是其他受众.
AR.js或ARToolkit中是否有设置来控制相机的灵敏度?
我想显示一个预加载屏幕,直到所有资产加载和渲染。
我尝试使用Assets事件加载,但无法正常工作。当我们增强3D模型,图像和视频时,这些资产将近50-60mb。因此,加载资产和扩充需要时间。如果网络很慢,当我们增加视频4-8秒时,黑屏就会出现并播放(在检查“网络”选项卡中,选择“我们测试3G慢”)。请用小故障编辑我的代码
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello!</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="text/javascript" src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/jeromeetienne/AR.js/1.7.2/aframe/build/aframe-ar.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/donmccurdy/aframe-extras/v6.0.0/dist/aframe-extras.min.js"></script>
<script src="https://unpkg.com/aframe-animation-component@5.1.2/dist/aframe-animation-component.min.js"></script>
<script>
AFRAME.registerComponent("vidhandler", {
init: function () {
// Set up initial state and variables.
this.toggle = false;
this.vid = document.querySelector("#vid");
this.vid.pause();
console.log('************* Vid Paused');
},
tick: function () {
if (this.el.object3D.visible == true) {
if (!this.toggle) {
this.toggle = true;
this.vid.play();
console.log('************* Vid Play');
}
} else {
this.toggle = false;
this.vid.pause();
//console.log('************* …Run Code Online (Sandbox Code Playgroud)