2
カメラとマイクの権限をユーザーから取得し、そのストリームをキャンバスに表示する小さなVue.jsコンポーネントを作成しようとしています。十分に簡単ですね。WebRTCコールバック内でプロパティが変更されたときにVue.js更新がトリガーされない
実際には、私はvideo
タグのsrcプロパティを更新するためにVue.jsを取得できませんでしたので、変更がVueによって取得されているかどうかをテストするために単純なstatus
メッセージを追加しました。彼らはそうではありません。 VueがgetUserMedia
コールバック内でプロパティの変更を取得する方法を確認するにはどうすればよいですか?
ここにフィドルを参照してください:https://jsfiddle.net/49r0c4cf/
をそしてここでコードがあります:
<template>
<div>
<button @click="getPermissions()" >Get permissions</button>
<video v-bind:src="videoStreamSrc" autoplay></video>
<h1>{{status}}</h1>
</div>
</template>
<script>
export default {
data() {
return {
videoStreamSrc: null,
status: 'default',
};
},
methods: {
getPermissions() {
this.status = 'FETHCING';
const vm = this;
navigator.mediaDevices.getUserMedia({
video: true,
audio: true,
},() => {
// vm.videoStreamSrc = window.URL.createObjectURL(localMediaStream);
vm.$set('status', 'DONE');
}, (err) => {
// eslint-disable-next-line
console.error(err);
});
},
},
};
</script>
くそー!私は実際の文書を開かないのは馬鹿だと感じます。私は盲目的にこの[HTML5Rocksのリンク](https://www.html5rocks.com/en/tutorials/getusermedia/intro/)に従って始めました – ArsalanDotMe