質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

Q&A

解決済

1回答

972閲覧

Skyway JS チュートリアルがうまくいかない

chorizo

総合スコア15

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

WebRTC

WebRTC(Web Real-Time Communication)とは、プラグイン無しでウェブブラウザ間の音声通話・ビデオチャットなどリアルタイムコミュニケーションができるオープンフレームワークです。W3CがAPIレベルで、IETFがプロトコルレベルでそれぞれ標準化が進められています。

0グッド

1クリップ

投稿2019/06/13 17:55

編集2019/06/14 13:26

現在、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」でも同じような現象が発生しています。
また、そもそもカメラにもアクセスできていないようです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sublimer

2019/06/15 01:49

2点、確認させてください。 1.接続はHTTPSでしょうか? カメラやマイクのストリームを取得する際にはHTTPS接続が必須となります。 2.ブラウザのコンソールには何か表示されていますか? F12キーを押し、「Console」というタブを開いてください。 そのままページをリロードしてください。 もしエラーなどがあれば、コンソールに表示されます。 表示された内容を質問に追記してください。
chorizo

2019/06/15 12:16

コンソールを確認し、自分自身で解決することができました。 ありがとうございました。
guest

回答1

0

自己解決

コンソールを見て自分で修正しました。

投稿2019/06/15 12:16

chorizo

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sublimer

2019/06/15 12:20

teratailのヘルプには、 > また後から読む人のためにも、具体的な解決手順を記載してください。 とあります。 どのようなエラーが出ていたのか、どのような手順で解決したのかを、今後この質問を閲覧するユーザーのためにも、解決した方法として追記されることをお勧めいたします。 https://teratail.com/help#resolve-myself
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問