gpt4 book ai didi

javascript - Angular - 如何从 navigator.getUserMedia 设置视频 src?

转载 作者:行者123 更新时间:2023-11-28 03:51:18 25 4
gpt4 key购买 nike

我正在尝试为 Angular 中的视频元素设置网络摄像头流。

    import {Component, View, bootstrap} from "angular2/angular2";

@Component({
selector: "home",
})
@View({
template:`<video [src]="videosrc"></video>`
})
export default class Home {

videosrc: string;
constructor(){

//setTimeout(() => {}, 2000);

navigator.getUserMedia = navigator.getUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia({video: true},(stream) => {
this.videosrc= URL.createObjectURL(stream);
}, (err) => console.log(err));
}
}

它只有在添加行“setTimeout(() => {}, 2000);”后才能工作。

Plunker

最佳答案

设置 src url 后需要触发更改检测。将 getUserMedia 调用包装到 Promise 中将解决您的问题。您还应该能够手动调用 Lifecycle.tick()。

var promise= new Promise<string>((resolve, reject)=>{
navigator.getUserMedia({video: true},(stream) => {
resolve(stream);
}, (err) => reject(err));
}).then((stream)=>{
this.videosrc= URL.createObjectURL(stream);
}).catch((error)=>{
console.log(error);
});

查看更新的插件:http://plnkr.co/edit/G9Y4Rk17pNP5XwHzDNko?p=preview

关于javascript - Angular - 如何从 navigator.getUserMedia 设置视频 src?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32645724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com