Получите актуальный обликMode of mediaStreamTrack в Firefox - PullRequest
1 голос
/ 05 марта 2020

Я хочу знать фактический режим FaceMode дорожки медиапотока, чтобы инвертировать изображение или нет, в зависимости от того, находится ли активная камера сзади или на передней панели устройства. Если для фактического столкновения используется «пользователь», то свойство css видео будет иметь следующий вид: transfrom: scaleX (-1), если для режима поворота используется «среда», я не инвертирую изображение.

Это мое код:

navigator.mediaDevices.getUserMedia({ facingMode: "environement", width: { ideal: 4096 } })
.then (function(mediaStream){
   video.srcObject = mediaStream;
   console.log('facingmode: ' + video.srcObject.getTracks()[0].getSettings().facingMode);
});

В chrome все работает должным образом: на консоли отображается «среда» или «пользователь», в зависимости от фактической активной камеры

В firefox консоль всегда показывает «неопределено» (что не ожидается) (такое же поведение на компьютере и на смартфоне)

Может ли кто-нибудь помочь мне восстановить фактический режим столкновения в firefox? Спасибо

1 Ответ

0 голосов
/ 08 марта 2020

Firefox может вернуть правильный режим облицовки без проблем. Я протестировал его, используя следующий код:

navigator.mediaDevices.getUserMedia({ video: true})
.then(function(stream) {
  console.log(stream.getTracks()[0].getSettings().facingMode);
})
.catch(function(err) {
  console.log(err)
});

Возможно, проблема в том, что вы не разрешили странице использовать камеру. Go до Preferences -> Permissions -> Camera -> Settings ... и снимите флажок Block new requests asking to access your camera.

...