現在、Skywayにて開発を始めたばかりなのですが、公式サイトに載っているチュートリアルがうまく動作しません。更に詳しく言うとチュートリアルで構築したコードを「Firebase」にデプロイしアクセスしても「Your id」が表示されません。
(Skyway JS チュートリアル:https://webrtc.ecl.ntt.com/js-sdk.html?_ga=2.198283755.573322152.1560404845-806127235.1560081939)
(チュートリアルの使用コード:https://github.com/skyway/skyway-js-sdk-tutorial)
<環境>
OS:windows10
エディタ:Atom
サーバ:Firebase
ブラウザ:Google Chrome
<行ったこと>
1,チュートリアルに沿ってアプリケーションを追加し、APIキーを取得
2,上記のgithubページからサンプルコードをダウンロード
3,チュートリアルの指示通りにjsに内容をコピペで記述
このとき3行目の「audio:false」に変更したのみでコードはいじっていないはず…
4,取得したAPIキーを入力
javascript
1let localStream = null; 2 3navigator.mediaDevices.getUserMedia({video: true, audio: false}) 4 .then(function (stream) { 5 // Success 6 $('#my-video').get(0).srcObject = stream; 7 localStream = stream; 8 }).catch(function (error) { 9 // Error 10 console.error('mediaDevice.getUserMedia() error:', error); 11 return; 12 }); 13 14let localStream = null; 15let peer = null; 16let existingCall = null; 17 18navigator.mediaDevices.getUserMedia({video: true, audio: true}) 19 // 省略 20}); 21 22peer = new Peer({ 23 key: 'MY-APIkey', 24 debug: 3 25}); 26 27peer.on('open', function(){ 28 $('#my-id').text(peer.id); 29}); 30 31peer.on('close', function(){ 32}); 33 34peer.on('disconnected', function(){ 35}); 36 37$('#make-call').submit(function(e){ 38 e.preventDefault(); 39 const call = peer.call($('#callto-id').val(), localStream); 40 setupCallEventHandlers(call); 41}); 42 43$('#end-call').click(function(){ 44 existingCall.close(); 45}); 46 47peer.on('call', function(call){ 48 call.answer(localStream); 49 setupCallEventHandlers(call); 50}); 51 52function setupCallEventHandlers(call){ 53 if (existingCall) { 54 existingCall.close(); 55 }; 56 57 existingCall = call; 58 59 call.on('stream', function(stream){ 60 addVideo(call,stream); 61 setupEndCallUI(); 62 $('#their-id').text(call.remoteId); 63 }); 64 // 省略 65} 66 67function setupCallEventHandlers(call){ 68 // 省略 69 call.on('close', function(){ 70 removeVideo(call.remoteId); 71 setupMakeCallUI(); 72 }); 73} 74 75function addVideo(call,stream){ 76 $('#their-video').get(0).srcObject = stream; 77} 78function removeVideo(peerId){ 79 $('#' + peerId).remove(); 80} 81 82function setupMakeCallUI(){ 83 $('#make-call').show(); 84 $('#end-call').hide(); 85} 86 87function setupEndCallUI() { 88 $('#make-call').hide(); 89 $('#end-call').show(); 90}
続いてFirebase関連
5,Firebaseでアプリを新規作成「faceview」
6,上記のコードが存在するフォルダでコマンドを開き
firebese init
↓
Are you ready to proceed? Yes
↓
(※)HOosting:… を選択しエンター
↓
What do you want to use as your public directory? public
↓
Configure as a single-page app (rewrite all urls to /index.html)? Yes
↓
File public/index.html already exists. Overwrite? Yes
7,publicフォルダ内に新しく作られた「index.html」を削除し
サンプルの「index.html」「script.js」「style.css」をpublicに移動
8,先ほどと同じようにコマンドを開き
firebase deploy
デプロイはうまくできているはず
9,Skywayのアプリ一覧に移動し、利用可能ドメインにデプロイしたアドレスを追加
Your ID:が表示されず、通信を行うことができません。
初歩的な内容で申し訳ありませんが、回答お待ちしています。
<追記>
Skywayが出しているSDKの「p2pMedia」でも同じような現象が発生しています。
また、そもそもカメラにもアクセスできていないようです。
回答1件
あなたの回答
tips
プレビュー