url-createobjecturl-no-больше-принимает-mediastream - после обновления Chrome 14.12.2018 - PullRequest
0 голосов
/ 19 декабря 2018

Объяснение проблемы и сценария.

У меня есть веб-приложение, в котором для съемки используется компонент AngularJS.Однако после последнего обновления в Google Chrome 14.12.2018 этот компонент перестал работать.Я провел поиск по этой проблеме и обнаружил, что все компоненты, которые могут это сделать, тоже перестали работать, возможно, потому что все они использовали метод с аргументом mediastream, который недавно был удален из браузеров

Код

Глядя в исходный код компонента, мы видим, что они все еще используют метод .createObjectURL, передающий MediaStream в качестве аргумента, но это больше не приемлемо для браузеров.

scope.enableCamera = function () {
return navigator.getUserMedia({
    audio: false,
    video: true
},function (stream) {
    return scope.$apply(function () {
        scope.stream = stream;
        scope.isLoaded = true;

    // HERE IS THE PROBLEM !!!!!!!
    return scope.videoStream = $sce.trustAsResourceUrl(window.URL.createObjectURL(stream));
    });
},function (error) {
return scope.$apply(function () {
    scope.isLoaded = true;
    return scope.noCamera = true;
});
});

Цель

Я бы хотел изменить способ работы компонента, чтобы он снова заработал, может кто-нибудь помочь мне это сделать?

Вотссылка компонента на GitHub: https://github.com/onemightyroar/angular-camera

Obs: Я открыл там проблему, но пока не получил никакого ответа.

...