SkyWayとFirebaseを利用したビデオ通話システム(SFU)を開発中です。
####やりたいこと
ページ遷移をしたときに、webカメラを解放したい
####起きていること/エラー
ページ遷移をしても、webカメラが使用中のまま
(skype等でビデオ通話ができない)
####コード
javascript
1/* 省略 */ 2let localStream = null; 3 4peer.on('open', function(id) { 5 // set peerId 6 peerId = id; 7 8 // DB: handle disconnections 9 disconnectionHandler(peerId, user); 10 11 navigator.mediaDevices 12 .getUserMedia({ 13 audio: false, 14 video: {width: 1, height: 1} 15 }).then(function(stream) { 16 localStream = stream; 17 // SW: join room 18 room = peer.joinRoom(roomId, {mode: 'sfu', stream: localStream}); 19 // start roomHandler 20 roomHandler(room, user); 21 }).then(() => { 22 // automatically add users from BR 23 return breakUsersHandler(user, peerId, room); 24 }).catch((error) => { 25 if (error.name) { 26 initMediaErrorHandler(error.name, peerId, user); 27 } 28 console.log(error); 29 }); 30}) 31 32/* 省略 */ 33 34$(window).on('beforeunload', function() { 35 // free camera 36 console.log(localStream); 37 var tracks = localStream.getTracks(); 38 tracks.forEach(function(track) { 39 track.stop(); 40 }); 41 console.log(localStream); 42}
####確認したこと
- beforeunloadの処理内で、最後にlocalStream.activeはfalseになっている
- ページ遷移後、webカメラの明かりは消えている
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/20 03:30
2018/07/20 05:30
2018/07/20 10:08
2018/07/20 10:12