WebRTC移动摄像机无法切换

问题描述

我正在尝试制作一个实时流应用程序,我想要在智能手机中切换相机的功能。我关注了MDN的this文章,但无法获得预期的结果。

以下是我得到的结果: Chrome移动版结果:摄像头从前向后切换,但没有反方向切换。 Firefox移动结果:摄像头从后置摄像头开始传输(这是不希望的),而没有切换到前置摄像头。

我正在为此应用程序使用RTCMultiConnection和RecordRTC。

代码

function switchCamera(stream){
    connection.replaceTrack(stream)
    video.pause();
    video.srcObject = stream;
    video.play();
}
var front = true;
$('#switch').on('click',function(e){
    e.preventDefault();
    e.stopImmediatePropagation();
                                  
    front = !front;
    var constraints = { video: { facingMode: (front? "user" : "environment") } };
                                 
    var internalRecorder = recorder.getInternalRecorder();
                                  

     connection.streamEvents.selectFirst({local: true}).stream.getVideoTracks().forEach(function(track){
         track.stop();
      });
     navigator.mediaDevices.getUserMedia(constraints).then(function(stream){
          if(internalRecorder instanceof MultiStreamRecorder){
             internalRecorder.resetVideoStreams(stream)
          }
     switchCamera(stream)
  });

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)