wpp*_*wpp 2 firefox webrtc getusermedia
我正在尝试获取不同的MediaStream,同时deviceId
在每种情况下指定不同的.
例如:我有3个麦克风(audioinputs
)可用,并希望获得每个麦克风的音频流.
deviceId
4hYbpq3YGKqNN6RbbLz5HrLfolsmjFDMl8sYdeviceId
MZ0gdxcs1Q0NW0sobM8ri3kfDhmOs1K74e2pstreamC3:with deviceId
iUWqFDfruPGcT6nl9gUxeN6dCM8VfFH5ZmR8
const c1 = { audio: { deviceId: { exact: audioInputs[0].deviceId } } };
const c2 = { audio: { deviceId: { exact: audioInputs[1].deviceId } } };
const c3 = { audio: { deviceId: { exact: audioInputs[2].deviceId } } };
getMedia(c1)
.then(() => getMedia(c2))
.then(() => getMedia(c3));
Run Code Online (Sandbox Code Playgroud)这在Chrome(版本55.0.2883.87)中运行良好,我得到3个不同的流(C1,C2,C3),所有audioTracks都有预期的标签.
但是getUserMedia
在Firefox(50.0.2)中第二次和第三次调用(C2,C3)时出现以下错误:
根据该文件为NotReadableErrors
:
虽然用户已授予使用匹配设备的权限,但操作系统,浏览器或网页级别发生硬件错误,导致无法访问设备.
(但是我可以使用相同的约束获取多个流,而不会遇到这个问题.)
Firefox是否符合预期?既然文档提到了"硬件错误"?是否有不同的方法来获取多个流(具有不同的设备约束)?或者我是否必须停止流,释放设备然后获取新流?
谢谢你的时间.
目前(Nightly现在是53)Firefox不支持多个有源音频输入源.
这是我们正在考虑的事情,但它需要对我们的MediaStream管道进行一些相当大的改动.这一切都与漂移 - 输出(和输出)在不同时钟上运行有关.
我们正在考虑通过将新设备的请求解释为切换设备的意图来采取中间步骤.这允许我们保持第一个打开,同时第二个提示可见,然后无缝切换.对于bug 1299324中的问题,这是相对低调的成果.
归档时间: |
|
查看次数: |
523 次 |
最近记录: |