javascript-什么是TrackStartError?

我正在使用约束运行仅音频会话:

  var constraints = {
    audio: {
      mandatory: {
        echoCancellation: false
      }, optional: [{
        sourceId: audioSource
      }]
    },
    video: false
  };

我注意到在很少的会话中,我从getUserMedia请求中收到TrackStartError.我看不到浏览器/浏览器版本/ OS /设备之间的任何关联.一些计算机不断出现此错误,有的计算机一次又一次出现新的getUserMedia请求没有问题,而有些根本没有遇到此错误.

我已经看到了有关强制性音频标志的一些问题,是否完整记录了TrackStartError,但是echoCancellation似乎没有此问题?

解决方法:

TrackStartError是NotReadableErrornon-spec Chrome-specific版本:

Although the user granted permission to use the matching devices, a hardware error occurred at the operating system, browser, or Web page level which prevented access to the device.

鉴于您的约束也为non-spec and Chrome-specific,这似乎很合适.相反,请尝试:

  var constraints = {
    audio: {
      echoCancellation: { exact: false },
      deviceId: audioSource
    },
  };

我强烈建议将官方的adapter.js polyfill填充到deal with such browser differences.

某些系统(例如Windows)提供对硬件设备的独占访问权,如果其他应用程序当前正在使用麦克风或摄像头,则可能导致此错误.也可能是错误或驱动程序问题.

上一篇:详解HTML5 录音遇到的坑


下一篇:getUserMedia在Android Chrome上的第一帧被冻结