尝试访问连接到wifi的IP摄像机。
我已连接到该wifi,但出现错误。如果我尝试使用vlc打开,则可以连接,但getUserMedia不能为空。
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
})
export class HomeComponent {
@ViewChild('video') video: any;
constructor() {
}
hasGetUserMedia() {
return !!(navigator.mediaDevices &&
navigator.mediaDevices.getUserMedia);
}
ngAfterViewInit() {
if (this.hasGetUserMedia()) {
// Good to go!
console.log("Gooddd................");
} else {
alert('getUserMedia() is not supported by your browser');
}
let _video = this.video.nativeElement;
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true, audio: true })
.then(function (stream) {
_video.src = window.URL.createObjectURL(stream);
_video.play();
}).catch(function (err) {
console.log(err);
});
}
}
}
<video #video width="640" height="480" autoplay></video>
答案 0 :(得分:0)
尝试更改此行:
_video.src = window.URL.createObjectURL(stream);
与此:
_video.srcObject = stream;
答案 1 :(得分:0)
当您没有任何设备来捕获视频或捕获音频时,就会发生这种情况
尝试检查您的摄像头和麦克风是否工作正常
答案 2 :(得分:0)
在我的情况下,我通过 USB 连接了外部摄像头,我能够获得设备,我获得了一些设备作为音频输出和视频输入,并且没有音频输入(麦克风设备)但是当我请求我通过的设备时约束为..
function Webcam(){
this.constraints = {
video: true,
audio: true
}
this.userMedia = null;
this.mediaDevices = navigator.mediaDevices;
this.initialize = function(){
this.userMedia = this.mediaDevices.getUserMedia(this.constraints);
}
}
let webcam = new Webcam();
webcam.initialize();
因此 Promise 没有得到满足,并且由于找不到请求的设备而出现错误。
答案 3 :(得分:0)
使用此行初始化网络摄像头和麦克风:
navigator.mediaDevices.getUserMedia({ audio: true, video: true });
答案 4 :(得分:-1)
尝试不使用“audio: true”。它对我的帮助。 (麦克风不工作)。 并检查其他网站上的网络摄像头。 可能需要检查此页面的权限。