我正在构建一个扩展程序,它也可以记录我的屏幕和麦克风音频。
\n概述:
\n我有 content.js,它尝试navigator.mediaDevices.getUserMedia({...连续访问我发送消息到background.js,它再次尝试访问navigator.mediaDevices.getUserMedia({...我正在录制的音频流。除此之外,我还有 popup.html,它有一个开始按钮,单击我正在录制屏幕的按钮即可。但在整个过程中我收到了错误DOMException: Failed due to shutdown。
另外,我知道对上述错误存在疑问(著名的Chrome 扩展 - getUserMedia 抛出“NotAllowedError:因关闭而失败”),但 \xe2\x80\x99 对我没有多大帮助。
\n内容.js
\nnavigator.mediaDevices.getUserMedia({\n audio: { echoCancellation: true }\n })\n .then((e) => { chrome.runtime.sendMessage({ from: \'success\' })})\n .catch((e) => {console.log(e);});\nRun Code Online (Sandbox Code Playgroud)\n背景.js
\nvar recorder = null;\nchrome.runtime.onMessage.addListener(gotMessage);\n\nfunction gotMessage(message) {\n if(message.from === \'success\') {\n navigator.mediaDevices.getUserMedia({\n audio: { echoCancellation: true }\n })\n .then((e) => { \n var chunks = [];\n var options = {\n mimeType: …Run Code Online (Sandbox Code Playgroud) javascript google-chrome google-chrome-extension getusermedia
我有一个browser_action扩展,用户可以按下start并stop为了捕捉到一些音频输入.记录文件后,我想将其url转储到控制台中.问题是我无法访问麦克风.这是我到目前为止所尝试的:
navigator.webkitGetUserMedia- 不起作用,navigator.webkitGetUserMedia({ audio: true },...);使用MediaDeviceFailedDueToShutdown调用错误回调.我试着调查那个错误,但我发现没有什么有用的.这个错误无处可寻.
你能指导我走正确的道路吗?谢谢.
我正在使用一个 chrome 扩展程序,我想与我的网络摄像头集成来执行一些时髦的计算机视觉和音频 ML 操作。
通常我会做这样的事情
对于音频,
<audio id="player" controls></audio>
<script>
const player = document.getElementById('player');
const handleSuccess = function(stream) {
if (window.URL) {
player.srcObject = stream;
} else {
player.src = stream;
}
};
navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then(handleSuccess);
</script>
Run Code Online (Sandbox Code Playgroud)
用于网络摄像头
<video autoplay></video>
<script>
const constraints = {
video: true
};
const video = document.querySelector('video');
navigator.mediaDevices.getUserMedia(constraints).
then((stream) => {video.srcObject = stream});
</script>
Run Code Online (Sandbox Code Playgroud)
对于 Chrome 扩展,最好的途径是使用 background.js 文件 - 我正在努力寻找任何有关如何使用它的文档或信息。
提前致谢!