[Q&A]MediaConnectionのイベントについて

222 views
Skip to first unread message

sk

unread,
Dec 5, 2016, 1:31:12 AM12/5/16
to SkyWay Technical Forum
お世話になっております。

MediaConnectionでのイベントについて質問がございます。
実機が1台しかないため、シミュレーターと接続して確認をしております。

【発生現象】
実機とシミュレーターで、MediaConnectionにて発生するイベントが異なる。

【環境】
・SkyWay-iOS-Sample(githubからcloneして使用しております。ログの出力以外で特に修正などは加えておりません。)
・xcode 8.1
・実機(iPhone4s iOS9.3.5)
・シミュレーター(iPhoneSE iOS10.1)
・実機、シミュレーターともにwifiにて接続

【手順】
1.xcodeからサンプルプログラムを実行
2.メニューから「Media Connection」を選択
3.「Call to」にて、シミュレーター側のIDを選択してビデオ通話開始

【確認事項】
・実機側で「SKW_MEDIACONNECTION_EVENT_STREAM」が発生しないのですが、正常でしょうか?
 シミュレーターでカメラが扱えないためでしょうか?
 シミュレーター側のイベントは発生しております。

・シミュレーター側にて、「End call」をタップ、またはナビゲーションバーの戻るボタンをタップした際に、実機側で「SKW_MEDIACONNECTION_EVENT_CLOSE」が発生せず、しばらく後に「SKW_MEDIACONNECTION_EVENT_ERROR」が発生します。
 発生したエラーは「ICE connection failed.」のようです。
 「Call to」をするのが、実機・シミュレーターに関わらず、実機側から通話を終了させると、シミュレーター側では問題なくCLOSEイベントが発生するようです。
 こちらの動作は正常でしょうか?

・実機、シミュレーターともに、peerのdisconnectやdestroyを実行しても、以下のイベントが発生しないのですが、こちらはどういう状況で発生するものでしょうか?
 - SKW_PEER_EVENT_CLOSE
 - SKW_PEER_EVENT_DISCONNECTED

・サンプルプログラムでは、peerのdisconnectを呼んでいないようなのですが、実際に実装する際も不要となりますでしょうか?
 ドキュメントを見る限りですと、「必ず実施してください」という記述がございます。

以上、宜しくお願い致します。

Hiroki Kato

unread,
Dec 12, 2016, 8:50:27 PM12/12/16
to SkyWay Technical Forum
お世話になっております。

SkyWay開発チームの加藤です。

> ・実機側で「SKW_MEDIACONNECTION_EVENT_STREAM」が発生しないのですが、正常でしょうか?
正常です。
ご認識の通り、カメラが使えないためです。

> ・シミュレーター側にて、「End call」をタップ、またはナビゲーションバーの戻るボタンをタップした際に、実機側で「SKW_MEDIACONNECTION_EVENT_CLOSE」が発生せず、しばらく後に「SKW_MEDIACONNECTION_EVENT_ERROR」が発生します
私の環境では、シミュレータにおいてもSKW_MEDIACONNECTION_EVENT_CLOSEが発生します。
ERRORが発生しているということはNW環境等の理由で接続エラーが発生している用に思えます。

> 実機、シミュレーターともに、peerのdisconnectやdestroyを実行しても、以下のイベントが発生しないのですが、こちらはどういう状況で発生するものでしょうか?
 - SKW_PEER_EVENT_CLOSE :こちらはpeer間の接続が切れたときに発生します。ビデオ通話などは切断されますが、PeerIDは有効です。
 - SKW_PEER_EVENT_DISCONNECTED:SkyWayのシグナリングサーバとの接続が切れたときに発生します。PeerIDは無効になり、再度取得が必要です。
 これらに関しても私の環境だとシミュレータでも発生しております。


> ・サンプルプログラムでは、peerのdisconnectを呼んでいないようなのですが、実際に実装する際も不要となりますでしょうか?

ドキュメントの表記がわかりづらく、申し訳ございません。

destroyにはdisconnectが含まれているとお考えください。
必要に応じて使い分けください。

destroy:サーバとの接続とユーザとの接続を切る
disconnect:サーバとの接続を切る


よろしくお願いします。


2016年12月5日月曜日 15時31分12秒 UTC+9 sk:
Reply all
Reply to author
Forward
0 new messages