Android SDK API リファレンス

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

SFU ルームクラス [詳解]

io.skyway.Peer.SFURoom の継承関係図
io.skyway.Peer.Room

公開メンバ関数

void close ()
 ルームを退出し、ルーム内のすべてのユーザーとのコネクションをcloseします。
 
void replaceStream (MediaStream stream)
 送信中のMediaStreamを変更します。カメラデバイスや画質の変更などに用います。

注意)MediaStreamを送信しない状態から送信する状態に変更することはできません。その逆の変更もできません。
   また、「映像か音声のどちらかのみを持つMediaStream」と「映像・音声の両方を持つMediaStream」を入れ替えることはできません。 [詳解]
 
boolean send (Object data) throws IllegalArgumentException
 現在のルームに入室中のピアにデータを送信します。String または byte[] を送信できます。送信するデータサイズの上限は20MBです。送信頻度は100msecに1回に制限されています。送信頻度の制限を超えた送信データはキューに入り、100msec毎に順次送信されます。 [詳解]
 
void on (RoomEventEnum event, OnCallback callback) throws IllegalArgumentException
 Room のイベントコールバック Block を設定します。 [詳解]
 
void getLog ()
 現在のルームのログ情報を取得します。結果は LOG イベントで返されます。 [詳解]
 
String getRoomName ()
 ルーム名を取得します。 [詳解]
 
void finalize ()
 
Peer getProvider ()
 このルームを生成したピアオブジェクトを取得します [詳解]
 

詳解

SFU ルームクラス

SFU接続でのルームを提供するルームクラスです。

メソッド詳解

◆ getLog()

void io.skyway.Peer.Room.getLog ( )
inherited

現在のルームのログ情報を取得します。結果は LOG イベントで返されます。

Room room;
room.on(Room.RoomEventEnum.LOG, new OnCallback() {
@Override
public void onCallback(Object object) {
if (!(object instanceof String[])) return;
String[] logs = (String[])object;
for (String log : logs) {
try {
JSONObject jsonLog = new JSONObject(log);
}
catch (JSONException e) { }
}
}
});

◆ getProvider()

Peer io.skyway.Peer.Room.getProvider ( )
inherited

このルームを生成したピアオブジェクトを取得します

戻り値
ピアオブジェクト

◆ getRoomName()

String io.skyway.Peer.Room.getRoomName ( )
inherited

ルーム名を取得します。

戻り値
ルーム名

◆ on()

void io.skyway.Peer.Room.on ( RoomEventEnum  event,
OnCallback  callback 
) throws IllegalArgumentException
inherited

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

Room room;
room.on(Room.RoomEventEnum.OPEN, new OnCallback() {
@Override
public void onCallback(Object object) {
if (!(object instanceof String)) return;
String roomName = (String)object;
}
});
room.on(Room.RoomEventEnum.CLOSE, new OnCallback() {
@Override
public void onCallback(Object object) {
if (!(object instanceof String)) return;
String roomName = (String)object;
}
});
room.on(Room.RoomEventEnum.ERROR, new OnCallback() {
@Override
public void onCallback(Object object) {
}
});
room.on(Room.RoomEventEnum.PEER_JOIN, new OnCallback() {
@Override
public void onCallback(Object object) {
if (!(object instanceof String)) return;
String peerId = (String)object;
}
});
room.on(Room.RoomEventEnum.PEER_LEAVE, new OnCallback() {
@Override
public void onCallback(Object object) {
if (!(object instanceof String)) return;
String peerId = (String)object;
}
});
room.on(Room.RoomEventEnum.DATA, new OnCallback2() {
@Override
public void onCallback(Object object) { }
@Override
public void onCallback(final Object object1, final Object object2) {
String peerId = (String)object1;
if (object2 instanceof String) {
String message = (String)object2;
}
else if (object2 instanceof byte[]) {
byte[] array = (byte[])object2;
}
}
});
room.on(Room.RoomEventEnum.LOG, new OnCallback() {
@Override
public void onCallback(Object object) {
if (!(object instanceof String[])) return;
String[] logs = (String[])object;
}
});
引数
event設定するイベント種別を指定します。
callbackイベント発生時に実行するコールバックオブジェクトを設定します。DATA イベントは OnCallback2 を指定する必要があります。
例外
IllegalArgumentExceptioncallbackOnCallback2 ではありません

◆ replaceStream()

void io.skyway.Peer.SFURoom.replaceStream ( MediaStream  stream)

送信中のMediaStreamを変更します。カメラデバイスや画質の変更などに用います。

注意)MediaStreamを送信しない状態から送信する状態に変更することはできません。その逆の変更もできません。
   また、「映像か音声のどちらかのみを持つMediaStream」と「映像・音声の両方を持つMediaStream」を入れ替えることはできません。

SFURoom room;
MediaStream stream;
room.replaceStream(stream);
引数
streamルーム内のユーザーに送る MediaStream

◆ send()

boolean io.skyway.Peer.Room.send ( Object  data) throws IllegalArgumentException
inherited

現在のルームに入室中のピアにデータを送信します。String または byte[] を送信できます。送信するデータサイズの上限は20MBです。送信頻度は100msecに1回に制限されています。送信頻度の制限を超えた送信データはキューに入り、100msec毎に順次送信されます。

引数
data送信データ
戻り値
呼び出し結果
例外
IllegalArgumentExceptiondataString および byte[] のどちらでもありません