mediastreamtrack.getsources在火狐浏览器中不受支持,如何实现等价功能

7

有没有一种相对应的方法来获取连接到 PC 上的视频设备列表?除了内置摄像头外,我还有一个外部网络摄像头。

mediastreamtrack.getsources 在 Chrome 中有效,但 Firefox 报告“TypeError: MediaStreamTrack.getSources 不是函数”。我正在运行 Firefox 版本 25.0.1。

谢谢!

4个回答

2

3
现在可以使用 navigator.mediaDevices.enumerateDevices() 进行支持,参见示例 https://webrtc.github.io/samples/src/content/devices/input-output/ 和 https://webrtc.github.io/samples/src/content/devices/multi/。 - Sam Dutton
MediaStreamTrack.getSources怎么样?它已经被弃用了吗? - Mohammad Kermani
媒体流轨迹(MediaStreamTrack)已经被弃用了吗? - Mohammad Kermani
MediaStreamTrack.getSources已被弃用:https://www.chromestatus.com/feature/4765305641369600。`MediaStreamTrack`并未被弃用。 - Sam Dutton
mediastreamtrack.getsources 已经被弃用了吗? - Mohammad Kermani
根据我的回复,MediaStreamTrack.getSources已经被弃用。 - Sam Dutton

2
请使用以下代码。它正常工作,可以提供所有音频和视频设备列表。
navigator.mediaDevices.enumerateDevices()
        .then(function (devices) {
            devices.forEach(function (device) {
                var option = document.createElement('option');
                option.value = device.deviceId;
                if (device.kind === 'videoinput') {
                    option.text = device.label || 'camera' + (videoSelect.length + 1);
                    videoSelect.appendChild(option);
                } else if (device.kind == 'audioinput') {
                    option.text = device.label || 'mic' + (audioSelect.length + 1);
                    audioSelect.appendChild(option);
                }
            });
        })
        .catch(function (err) {
            console.log(err.name + ": " + err.message);
        });

1
在您的示例中,audioSelect和videoSelect是什么? - Vincent
代码无法运行,请编写完整的代码。videoSelect是什么?audioSelect是什么? - M.Idrish

1
截至Nightly 28.0a1,Firefox没有与Chrome的MediaStreamTrack.getSources相当的东西。因此,目前没有办法在Firefox中获取本地音频和视频设备的列表。我询问了负责Firefox WebRTC实现的开发人员,他们表示这是计划中的功能,但还没有确定的上线时间。如果您感兴趣,可以查看irc日志(滚动到16:17)。此外,这是draft W3C spec中相关部分。

你认为使用 MediaStream.getVideoTracks() MediaStream API 可以获取到一个列表吗? - Tristian

-3

2
据我所知,该文档未提及getSources()方法,并且当前发布的Firefox 34和35版本也没有实现它。 - Sterling Archer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接