Android SDK API リファレンス

クラス | 公開メンバ関数 | 公開変数類 | 全メンバ一覧
io.skyway.Peer.Peer クラス

ピアクラス [詳解]

クラス

enum  DebugLevelEnum
 ログ出力レベル [詳解]
 
enum  PeerEventEnum
 Peer の on メソッドのコールバックタイプ [詳解]
 
enum  PeerTypeEnum
 

公開メンバ関数

String identity ()
 現在の ピア ID を取得します。 [詳解]
 
boolean isDisconnected ()
 切断状態を取得します。 [詳解]
 
boolean isDestroyed ()
 切断状態を取得します。 [詳解]
 
Context getContext ()
 Peer オブジェクト生成時のコンテキストを取得します [詳解]
 
DebugLevelEnum getDebugLevel ()
 現在のデバッグレベルを取得します [詳解]
 
 Peer (Context context, PeerOption options)
 Peer オブジェクト作成を行います。ピア ID はサーバから取得します。 [詳解]
 
 Peer (Context context, String peerId, PeerOption options)
 指定したピア ID にて設定情報と共に初期化をおこないます。 [詳解]
 
void finalize ()
 
void on (PeerEventEnum event, OnCallback callback)
 Peer のイベントコールバック Block を設定します。 [詳解]
 
void disconnect ()
 シグナリングサーバとの接続を切断します。接続済みのリモートピアとのコネクション接続は継続されます。 [詳解]
 
void reconnect ()
 シグナリングサーバと切断状態の時にシグナリングサーバとの再接続を行います。ピア ID は割当済みの ID を使用します。接続済みのリモートピアとのコネクション接続は継続されます。 [詳解]
 
void destroy ()
 peer オブジェクトを破棄状態にします。接続済みのリモートピアとのコネクション接続は切断されます。 [詳解]
 
void listAllPeers (OnCallback callback)
 SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。String の ArrayList が渡されます。 [詳解]
 
DataConnection connect (String peerId)
 指定されたリモートへデータ接続を行い、DataConnection を返します。失敗した場合には error イベントが呼び出されます。デフォルトの設定にて接続をおこないます。 [詳解]
 
DataConnection connect (String peerId, ConnectOption option)
 指定されたリモートへデータ接続を行い、DataConnection を返します。失敗した場合には error イベントが呼び出されます。設定情報を指定して接続を行います。 [詳解]
 
MediaConnection call (String peerId, MediaStream stream)
 指定されたリモートへメディア接続を行い、MediaConnection を返します。 失敗した場合には、error イベントが発生します。デフォルトの接続オプションで接続します。 [詳解]
 
MediaConnection call (String peerId, MediaStream stream, CallOption option)
 指定されたリモートへメディア接続を行い、MediaConnection を返します。 失敗した場合には、error イベントが発生します。設定情報を指定して接続します。 [詳解]
 
Room joinRoom (String roomName, RoomOption option)
 ルームに参加します [詳解]
 
void updateCredential (PeerCredential newCredential)
 認証情報を更新します。 [詳解]
 
EglBase getRootEglBase ()
 
EglBase getLocalEglBase ()
 
EglBase getRemoteEglbase ()
 
MediaStream getUserMedia (MediaConstraints constraints)
 

公開変数類

final Map< String, ArrayList< BaseConnection > > connections = new HashMap<>()
 コネクション接続管理オブジェクトです。 リモート peer の ID を key として、peer と関連付けされるコネクション列を持つハッシュです。
 

詳解

ピアクラス

構築子と解体子

◆ Peer() [1/2]

io.skyway.Peer.Peer.Peer ( Context  context,
PeerOption  options 
)

Peer オブジェクト作成を行います。ピア ID はサーバから取得します。

Context context = getApplicationContext();
SKWPeerOption options = new SKWPeerOption();
options.key = "{your-dev-key}";
options.domain = ”{your-domain}”;
options.debug = Peer.DebugLevelEnum.ALL_LOGS;
options.turn = true;
Peer peer = new Peer(context, options)
引数
contextApplicationContext オブジェクトを指定します。
options設定情報オブジェクトを指定します。

◆ Peer() [2/2]

io.skyway.Peer.Peer.Peer ( Context  context,
String  peerId,
PeerOption  options 
)

指定したピア ID にて設定情報と共に初期化をおこないます。

Context context = getApplicationContext();
SKWPeerOption options = new SKWPeerOption();
options.key = "{your-dev-key}";
options.domain = ”{your-domain}”;
options.debug = Peer.DebugLevelEnum.ALL_LOGS;
options.turn = true;
Peer peer = new Peer(context, null, options)
引数
contextApplicationContext オブジェクトを指定します。
peerId使用するピア ID を指定します。ピア ID をサーバから取得する場合には null を指定します。
options設定情報オブジェクトを指定します。

メソッド詳解

◆ call() [1/2]

MediaConnection io.skyway.Peer.Peer.call ( String  peerId,
MediaStream  stream 
)

指定されたリモートへメディア接続を行い、MediaConnection を返します。 失敗した場合には、error イベントが発生します。デフォルトの接続オプションで接続します。

Peer peer;
String destId;
Navigator.initialize(peer);
MediaConstraints constraints = new MediaConstraints();
MediaStream stream = Navigator.getUserMedia(constraints);
MediaConnection media = peer.call(destId, stream);
引数
peerIdリモートの peer ブローカー ID です (リモートの peer.id です)
streamNavigator クラスの getUserMedia() によって取得される MediaStream を設定します。null の場合は、自端末の映像・音声は相手に送信されません。
戻り値
MediaConnection オブジェクト

◆ call() [2/2]

MediaConnection io.skyway.Peer.Peer.call ( String  peerId,
MediaStream  stream,
CallOption  option 
)

指定されたリモートへメディア接続を行い、MediaConnection を返します。 失敗した場合には、error イベントが発生します。設定情報を指定して接続します。

Peer peer;
String destId;
Navigator.initialize(peer);
MediaConstraints constraints = new MediaConstraints();
MediaStream stream = Navigator.getUserMedia(constraints);
CallOption options = new CallOption();
options.metadata = "yourMetadata";
MediaConnection media = peer.call(destId, stream, options);
引数
peerIdリモートの peer ブローカー ID です (リモートの peer.id です)
streamNavigator クラスの getUserMedia() によって取得される MediaStream を設定します。null の場合は、自端末の映像・音声は相手に送信されません。
option設定情報を指定します。
戻り値
MediaConnection オブジェクト

◆ connect() [1/2]

DataConnection io.skyway.Peer.Peer.connect ( String  peerId)

指定されたリモートへデータ接続を行い、DataConnection を返します。失敗した場合には error イベントが呼び出されます。デフォルトの設定にて接続をおこないます。

Peer peer;
String destId;
DataConnection data = peer.connect(destId);
引数
peerId接続先リモートの peer ブローカーID です (リモートの peer id です)
戻り値
DataConnection オブジェクト

◆ connect() [2/2]

DataConnection io.skyway.Peer.Peer.connect ( String  peerId,
ConnectOption  option 
)

指定されたリモートへデータ接続を行い、DataConnection を返します。失敗した場合には error イベントが呼び出されます。設定情報を指定して接続を行います。

Peer peer;
String destId;
ConnectOption options = new ConnectOption();
options.label = "chat";
options.metadata = "hi !!!";
options.serialization = DataConnection.SerializationEnum.NONE;
DataConnection data = peer.connect(destId, options);
引数
peerId接続先リモートの peer ブローカーID です (リモートの peer id です)
option設定情報を指定します。
戻り値
DataConnection オブジェクト

◆ destroy()

void io.skyway.Peer.Peer.destroy ( )

peer オブジェクトを破棄状態にします。接続済みのリモートピアとのコネクション接続は切断されます。

Peer peer;
peer.destroy();

◆ disconnect()

void io.skyway.Peer.Peer.disconnect ( )

シグナリングサーバとの接続を切断します。接続済みのリモートピアとのコネクション接続は継続されます。

Peer peer;
peer.disconnect();

◆ getContext()

Context io.skyway.Peer.Peer.getContext ( )

Peer オブジェクト生成時のコンテキストを取得します

戻り値
コンテキスト

◆ getDebugLevel()

DebugLevelEnum io.skyway.Peer.Peer.getDebugLevel ( )

現在のデバッグレベルを取得します

戻り値
デバッグレベル

◆ identity()

String io.skyway.Peer.Peer.identity ( )

現在の ピア ID を取得します。

戻り値
ピア ID

◆ isDestroyed()

boolean io.skyway.Peer.Peer.isDestroyed ( )

切断状態を取得します。

戻り値
isDestroyed 状態
true 破棄状態です。
false 有効状態です。

◆ isDisconnected()

boolean io.skyway.Peer.Peer.isDisconnected ( )

切断状態を取得します。

戻り値
isDisconnected 状態
true サーバとは切断されています。
false サーバとは接続されています。

◆ joinRoom()

Room io.skyway.Peer.Peer.joinRoom ( String  roomName,
RoomOption  option 
)

ルームに参加します

フルメッシュルーム:

Peer peer;
MediaStream localStream;
String roomName = "fullmesh_videochat_room";
RoomOption options = new RoomOptions();
options.mode = RoomOption.RoomModeEnum.MESH;
options.stream = localStream;
MeshRoom meshRoom = peer.join(roomName, options);

SFU ルーム:

Peer peer;
String roomName = "sfu_textchat_room";
RoomOption options = new RoomOptions();
options.mode = RoomOption.RoomModeEnum.SFU;
SFURoom sfuRoom = peer.join(roomName, options);
引数
roomNameルーム名
optionルームオプション
戻り値
ルームに参加できた場合はルームオブジェクトが返されます。

◆ listAllPeers()

void io.skyway.Peer.Peer.listAllPeers ( OnCallback  callback)

SkyWay シグナリングサーバから接続可能な ピア ID の一覧を取得します。String の ArrayList が渡されます。

Peer peer;
peer.listAllPeers(new OnCallback() {
@Override public void onCallback(Object object) {
ArrayList<String> list = (ArrayList<String>)object;
}
});
引数
callbackリスト取得完了時に実行するコールバックオブジェクトを設定します。

◆ on()

void io.skyway.Peer.Peer.on ( PeerEventEnum  event,
OnCallback  callback 
)

Peer のイベントコールバック Block を設定します。

Peer peer;
peer.on(Peer.PeerEventEnum.OPEN, new OnCallback() {
@Override
public void onCallback(Object object) {
String ownId = (String)object;
}
});
peer.on(Peer.PeerEventEnum.CONNECTION, new OnCallback() {
@Override
public void onCallback(Object object) {
DataConnection data = (DataConnection)object;
}
});
peer.on(Peer.PeerEventEnum.CALL, new OnCallback() {
@Override
public void onCallback(Object object) {
MediaConnection media = (MediaConnection)object;
}
});
peer.on(Peer.PeerEventEnum.CLOSE, new OnCallback() {
@Override
public void onCallback(Object object) {
// 処理を記述
}
});
peer.on(Peer.PeerEventEnum.DISCONNECTED, new OnCallback() {
@Override
public void onCallback(Object object) {
// 処理を記述
}
});
peer.on(Peer.PeerEventEnum.ERROR, new OnCallback() {
@Override
public void onCallback(Object object) {
PeerError error = (PeerError)object;
}
});
引数
event設定するイベント種別を指定します。
callbackイベント発生時に実行するコールバックオブジェクトを設定します。

◆ reconnect()

void io.skyway.Peer.Peer.reconnect ( )

シグナリングサーバと切断状態の時にシグナリングサーバとの再接続を行います。ピア ID は割当済みの ID を使用します。接続済みのリモートピアとのコネクション接続は継続されます。

Peer peer;
peer.reconnect();

◆ updateCredential()

void io.skyway.Peer.Peer.updateCredential ( PeerCredential  newCredential)

認証情報を更新します。

Peer peer;
PeerCredential credential = new PeerCredential();
credential.timestamp = System.currentTimeMillis();
credential.ttl = 86400;
credential.authToken = "calculated auth token";
peer.updateCredential(credential);
引数
newCredential新しい認証情報