Android SDK API リファレンス

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

Peer クラス [詳解]

クラス

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

公開メンバ関数

String identity ()
 現在の Peer ID を取得します。 [詳解]
 
boolean isDisconnected ()
 切断状態を取得します。 [詳解]
 
boolean isDestroyed ()
 破棄状態を取得します。 [詳解]
 
Context getContext ()
 Peer オブジェクト生成時のコンテキストを取得します。 [詳解]
 
DebugLevelEnum getDebugLevel ()
 現在のデバッグレベルを取得します。 [詳解]
 
 Peer (Context context, PeerOption options)
 Peer オブジェクト作成を行います。Peer ID はサーバから取得します。 [詳解]
 
 Peer (Context context, String peerId, PeerOption options)
 指定した Peer ID にて設定情報と共に初期化をおこないます。 [詳解]
 
void finalize ()
 
void on (PeerEventEnum event, OnCallback callback)
 Peer のイベントコールバック Block を設定します。 [詳解]
 
void disconnect ()
 (非推奨) シグナリングサーバとの接続を切断します。なお、接続済みのmediaConnection, dataConnectionは継続されます。 [詳解]
 
void reconnect ()
 (非推奨) シグナリングサーバへ再接続します。再接続の際には割り当て済みのPeer IDを使用します。 [詳解]
 
void destroy ()
 シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。 [詳解]
 
void listAllPeers (OnCallback callback)
 シグナリングサーバから接続可能な Peer ID の一覧を取得します。String の ArrayList が渡されます。 [詳解]
 
void fetchPeerExists (String peerId, OnCallback successCallback, OnCallback errorCallBack)
 指定した Peer ID の Peer が存在するかどうかをシグナリングサーバから取得します。 [詳解]
 
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 getEglBase ()
 
MediaStream getUserMedia (MediaConstraints constraints)
 
MediaStream getDisplayMedia (MediaConstraints constraints, Intent mediaProjectionPermissionResultData, MediaProjection.Callback mediaProjectionCallback)
 

静的公開メンバ関数

static String getSdkVersion ()
 現在の SDK のバージョンを取得します。 [詳解]
 

公開変数類

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

詳解

Peer クラス

構築子と解体子

◆ Peer() [1/2]

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

Peer オブジェクト作成を行います。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;
options.tryReconnectMedia = true;
options.tryReconnectData = true;
Peer peer = new Peer(context, options)
引数
contextApplicationContext オブジェクトを指定します。
optionsConnectOption オブジェクトを指定します。

◆ Peer() [2/2]

io.skyway.Peer.Peer.Peer ( Context  context,
String  peerId,
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;
options.tryReconnectMedia = true;
options.tryReconnectData = true;
Peer peer = new Peer(context, null, options)
引数
contextApplicationContext オブジェクトを指定します。
peerId使用するPeer ID を指定します。Peer ID をサーバから取得する場合には null を指定します。
optionsConnectOption オブジェクトを指定します。

メソッド詳解

◆ 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 です
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 です。
streamNavigator クラスの getUserMedia() によって取得される MediaStream を設定します。null の場合は、自端末の映像・音声は相手に送信されません。
optionConnectOption オブジェクトを指定します。
戻り値
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 です
戻り値
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 です
optionConnectOption オブジェクトを設定します。
戻り値
DataConnection オブジェクト

◆ destroy()

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

シグナリングサーバとの接続、および、接続済みのmediaConnection, dataConnectionを切断します。

Peer peer;
peer.destroy();

◆ disconnect()

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

(非推奨) シグナリングサーバとの接続を切断します。なお、接続済みのmediaConnection, dataConnectionは継続されます。

非推奨:
destroyもしくはcloseの利用を推奨します。

◆ fetchPeerExists()

void io.skyway.Peer.Peer.fetchPeerExists ( String  peerId,
OnCallback  successCallback,
OnCallback  errorCallBack 
)

指定した Peer ID の Peer が存在するかどうかをシグナリングサーバから取得します。

Peer peer;
String peerId;
peer.fetchPeerExists(peerId, new OnCallback() {
@Override public void onCallback(Object object) {
boolean exists = (boolean)object;
}
}, new OnCallback() {
@Override public void onCallback(Object object) {
String error = (String)object;
}
}
);
引数
peerId存在を確認したい PeerPeer ID を指定します。
successCallbackPeer が存在するかどうかを取得した時に実行するコールバックオブジェクトを設定します。
errorCallbackエラー発生時に実行するコールバックオブジェクトを設定します。

◆ getContext()

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

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

戻り値
コンテキスト

◆ getDebugLevel()

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

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

戻り値
デバッグレベル

◆ getSdkVersion()

static String io.skyway.Peer.Peer.getSdkVersion ( )
static

現在の SDK のバージョンを取得します。

戻り値
バージョン番号

◆ identity()

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

現在の Peer ID を取得します。

戻り値
Peer 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)

シグナリングサーバから接続可能な Peer 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 ( )

(非推奨) シグナリングサーバへ再接続します。再接続の際には割り当て済みのPeer IDを使用します。

非推奨:
Peerを再生成することを推奨します。

◆ 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新しい認証情報
io.skyway.Peer.Peer.Peer
Peer(Context context, PeerOption options)
Peer オブジェクト作成を行います。Peer ID はサーバから取得します。
Definition: Peer.java:317