Android浏览器中的相机方向

时间:2018-09-10 20:37:32

标签: javascript html5 camera

我正在尝试在用户拍摄图片时检测相机的方向,以便在画布上绘制时可以对其进行调整。问题是我无法使用设备方向,因为即使打开方向锁定,我也需要它来工作。

相机设置

// Get access to the camera!
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    // Not adding `{ audio: true }` since we only want video now
    navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
        video.src = window.URL.createObjectURL(stream);
        video.play();
    });
}

视频流快照

// Elements for taking the snapshot
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var video = document.getElementById('video');

// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
    context.drawImage(video, 0, 0, 640, 480);
});

来自David Walsh - browser camera的参考代码

1 个答案:

答案 0 :(得分:0)

您是否要在拍摄照片后形象化? 如果是这样,您是否尝试过使用图片附带的相机方向信息,而不是在拍摄照片时获取它?

请参考以下链接:Android : How to detect the image orientation (portrait or landscape) picked from gallery while setting on an imageview?

如果要在拍照时确定设备方向,则可以选中how to detect orientation of android device?https://developer.android.com/guide/topics/sensors/sensors_position

请提供您的代码,以帮助您更好地工作。