Я пытаюсь получить доступ к javasctipt mediaDevices внутри AngularJs контроллера, это код моего контроллера:
(function () {
'use strict';
angular.module('app')
.controller('AssistenzaCtrl', ['$scope', 'largeTabController', 'readSelect', '$mdDialog', '$interval', '$http', '$window', AssistenzaCtrl])
function AssistenzaCtrl($scope, largeTabController, readSelect, $mdDialog, $interval, $http, $window ) {
$scope.init = function () {
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
console.log("enumerateDevices() not supported.");
}
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
console.log(device.kind + ": " + device.label +
" id = " + device.deviceId);
});
})
.catch(function(err) {
console.log(err.name + ": " + err.message);
});
}
}
})();
Если я проверяю Мой контроллер с помощью инструментов F12, navigator.mediaDevices не определен, но мой Браузер поддерживает mediaDevices, потому что, если я запускаю тот же код на отдельной странице без AngularJs, я могу успешно перечислить свои устройства.
Есть ли проблемы совместимости между AngularJs и getUserMedia ()?