What is a TrackStartError?

Deadly 提交于 2020-01-11 08:37:08

问题


I am running audio only sessions using the constraints:

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

I am noticing that in a very small number of sessions I am receiving a TrackStartError from the getUserMedia request. I cannot see any correlation between browser/browser version/OS/devices available. Some computers continually get this error, some once and then after a new getUserMedia request no problem and some don't experience this at all.

Is the TrackStartError documented fully as I have seen some issues around mandatory audio flags, but echoCancellation seems not to have this problem?


回答1:


TrackStartError is a non-spec Chrome-specific version of NotReadableError:

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.

Seems fitting, given that your constraints are non-spec and Chrome-specific as well. Instead, try:

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

I highly recommend the official adapter.js polyfill to deal with such browser differences.

Some systems (like Windows) give exclusive access to hardware devices, which can cause this error if other applications are currently using a mic or camera. It can also be a bug or driver issue.



来源:https://stackoverflow.com/questions/43919639/what-is-a-trackstarterror

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!