С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
5 / 5 / 1
Регистрация: 31.10.2015
Сообщений: 267
1

Адаптировать код под браузер opera

19.09.2022, 15:04. Показов 387. Ответов 2

Author24 — интернет-сервис помощи студентам
День добрый! Вот попробовал набросать код для переключения между передней и задней камерой смартфона.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
$(document).ready(function()
{
var deviceId,arrayCamera=[],currentStream;
let i=0;
 
initializeCamera();
document.getElementsByClassName('rotateCamera')[0].addEventListener('click',function()
{
    deviceId=ChooseCamera(deviceId);
    stopMediaTracks(currentStream);
    startCamera();
});
 
 
 
function initializeCamera()
{
navigator.mediaDevices.enumerateDevices().then(gotDevices).then(startCamera);
}
 
async function gotDevices(mediaDevices) 
{
    
        mediaDevices.forEach(mediaDevice => {
            if (mediaDevice.kind === 'videoinput') {
            arrayCamera.push(mediaDevice.deviceId);
            }   
        })
    deviceId=arrayCamera[0];
}
 
 
 
function stopMediaTracks(currentStream) {
    currentStream.getTracks().forEach(track => {
    track.stop();
  });
}
 
 
function ChooseCamera(deviceId)
{
 
 if (i==0) {i+=1;  current=arrayCamera[1]; return current;} 
else {i-=1; current=arrayCamera[0];  return current;}
}
 
function startCamera()
{
    var constraints={video: { deviceId: deviceId }, width: 640,height:480};
    
    navigator.mediaDevices.getUserMedia(constraints).then(function(mediaStream) {
        var video = document.querySelector('video');        
            currentStream =mediaStream;
            video.srcObject = currentStream;
            video.onloadedmetadata = function(e) {
            video.play();
            };          
            }).catch(function(err) { console.log(err.name + ": " + err.message); });            
}
})
Проблема возникала в следующем плане, под chrome работает всё на ура.... и без всяких ошибок.... но вот под opera переключатся камера(с передней на заднюю) ну никак не хочет! прям не желает, делать этого... Хотя, этот же самый абсолютно код работал прекрасно и под opera у меня до поры до времени. Пока не решил его переписать.... Ничего не понимаю.. В чём причина этого может крыться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2022, 15:04
Ответы с готовыми решениями:

Как адаптировать код WMI под код Visual Studio 2010?
Доброе время суток всем. Подскажите пожалуйста для новичка, что бы можно было разобраться, как...

Как создать свой плагин под браузер Opera
здравствуйте. расскажите пожалуйста как создать свой плагин под оперу, в принципе это дорлжен...

Адаптировать код под цикл while
есть прога, её нужно адаптировать под цикл while #include<stdio.h> #include<math.h>...

Адаптировать код под Dev C++
using System; //программа перевода градусов Фаренгейта в градусы Цельсия namespace p1 { ...

2
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,665
19.09.2022, 18:18 2
Цитата Сообщение от allonemoon Посмотреть сообщение
var video = document.querySelector('video');       
            currentStream =mediaStream;
            video.srcObject = currentStream;
            video.onloadedmetadata = function(e) {
            video.play();
у меня в сафари это не работало, работает так:
Javascript
1
2
3
4
let video = document.querySelector('video');//лучше подстраховаться и точно на элемент указывать
video.srcObject = stream;
video.setAttribute('playsinline', true);
video.play();
или вот так возможно:
Javascript
1
2
3
4
5
6
let video = document.querySelector('video');//лучше подстраховаться и точно на элемент указывать
video.srcObject = stream;
video.setAttribute('autoplay', '');
video.setAttribute('muted', '');
video.setAttribute('playsinline', '');
video.play();
1
5 / 5 / 1
Регистрация: 31.10.2015
Сообщений: 267
20.09.2022, 09:03  [ТС] 3
Код оказался рабочим и под opera touch, opera, google chrome. Только так и не понял одного. Косяк получается был в браузере у меня? Так как после того как переустановил у себя на телефоне opera, то и код сработал у меня как полагается(переключение с задней на переднюю камеру). То есть кэш желательно чистить походу после каждого переключения камеры?
0
20.09.2022, 09:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2022, 09:03
Помогаю со студенческими работами здесь

Адаптировать код под формы
Добрый вечер, 3 день бьюсь об заклад и никак не могу адаптировать код С++ к формам к формам...

Адаптировать код под opendialog
Здравствуйте могли бы вы помочь адаптировать код под opendialog вот сам код Var SL: TStringList;...

Адаптировать код Visual под Borland
Пожалуйста помогите, есть несколько файлов с кодами, которые были написаны на Визуал, нужно...

Адаптировать код функции под Делфи
int fibonacci(int n) { if (n == 0) return 0; else if (n == 1) return 1; int memo =...

Адаптировать код под систему из 4х уравнений
Есть готовый код. Препод посмотрел и дал задание: Решите систему на отрезке : y1'=y2+y1^2+y2^2-1,...

Не получается адаптировать код на JavaScript под NN.
Если нажать на 'Choose a color' на следующей странице ...

Как адаптировать js код под php
Здравствуйте я новичок в php и у меня возник вопрос Как перенести функций из js в php У меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru