【发布时间】:2018-07-28 23:30:19
【问题描述】:
我正在尝试在 chrome 应用中的 Audio-Element 处更改 sinkId。
代码:
var audio = new Audio();
audio.setSinkId("communications");
我会收到这个错误:
DOMException: No permission to use requested device
为了获得许可,我尝试这样做:
navigator.webkitGetUserMedia({
audio: true
}, (stream) => {
console.log("stream: ", stream);
}, (error) => {
console.log("error: ", error);
});
但现在我明白了:
error:
NavigatorUserMediaError {name: "InvalidStateError", message: "", constraintName: ""}
不知道是不是
- “音频”不可用(但实际上应该)
- 我需要一个安全的连接(但如何在 chrome 应用中获得这个连接?)
【问题讨论】:
-
我遇到了同样的问题并查看了文档:developers.google.com/web/updates/2015/10/media-devices 示例(也不适用于 Windows 10):webrtc.github.io/samples/src/content/devices/input-output github 上的一个未解决问题:github.com/WebAudio/web-audio-api/issues/445 似乎目前要坏了.. PS:还有一个Chrome扩展程序应该可以在这里切换音频输出:chrome.google.com/webstore/detail/audiopick/…它可能包含一些有趣的代码? (没看过)
-
感谢您的回复。不幸的是,该示例和 chrome 扩展程序也无法在我的计算机上运行(Windows 8,chrome 版本 63.0.3239.132)。希望尽快修复!
-
Chrome v78 上没有“无效状态”错误,但似乎仍然无法请求音频输入流以获取音频输出权限。我为您的问题添加了赏金,希望能得到更好的答案。
标签: javascript google-chrome audio google-chrome-app