MediaChannel
public final class MediaChannel
extension MediaChannel: CustomStringConvertible
一度接続を行ったメディアチャネルは再利用できません。 同じ設定で接続を行いたい場合は、新しい接続を行う必要があります。
接続が解除されるタイミング
メディアチャネルの接続が解除される条件を以下に示します。 いずれかの条件が 1 つでも成立すると、メディアチャネルを含めたすべてのチャネル (シグナリングチャネル、ピアチャネル、 WebSocket チャネル) の接続が解除されます。
- シグナリングチャネル (
SignalingChannel
) の接続が解除される。 - WebSocket チャネル (
WebSocketChannel
) の接続が解除される。 - ピアチャネル (
PeerChannel
) の接続が解除される。 - サーバーから受信したシグナリング
ping
に対してpong
を返さない。 これはピアチャネルの役目です。
-
イベントハンドラ
Declaration
Swift
public var handlers: MediaChannelHandlers
-
クライアントの設定
Declaration
Swift
public let configuration: Configuration
-
最初に type: connect メッセージを送信した URL (デバッグ用)
Sora から type: redirect メッセージを受信した場合、 contactUrl と connectedUrl には異なる値がセットされます type: redirect メッセージを受信しなかった場合、 contactUrl と connectedUrl には同じ値がセットされます
Declaration
Swift
public var contactUrl: URL? { get }
-
接続中の URL
Declaration
Swift
public var connectedUrl: URL? { get }
-
メディアチャンネルの内部で利用している RTCPeerConnection
Declaration
Swift
public var native: RTCPeerConnection? { get }
-
クライアント ID 。接続後にセットされます。
Declaration
Swift
public var clientId: String? { get }
-
バンドル ID 。接続後にセットされます。
Declaration
Swift
public var bundleId: String? { get }
-
接続 ID 。接続後にセットされます。
Declaration
Swift
public var connectionId: String? { get }
-
接続状態
Declaration
Swift
public private(set) var state: ConnectionState { get set }
-
接続中 (
state == .connected
) であればtrue
Declaration
Swift
public var isAvailable: Bool { get }
-
接続開始時刻。 接続中にのみ取得可能です。
Declaration
Swift
public private(set) var connectionStartTime: Date? { get }
-
接続時間 (秒) 。 接続中にのみ取得可能です。
Declaration
Swift
public var connectionTime: Int? { get }
-
同チャネルに接続中のクライアントの数。 サーバーから通知を受信可能であり、かつ接続中にのみ取得可能です。
Declaration
Swift
public private(set) var connectionCount: Int? { get }
-
同チャネルに接続中のクライアントのうち、パブリッシャーの数。 サーバーから通知を受信可能であり、接続中にのみ取得可能です。
Declaration
Swift
public private(set) var publisherCount: Int? { get }
-
同チャネルに接続中のクライアントの数のうち、サブスクライバーの数。 サーバーから通知を受信可能であり、接続中にのみ取得可能です。
Declaration
Swift
public private(set) var subscriberCount: Int? { get }
-
ストリームのリスト
Declaration
Swift
public var streams: [MediaStream] { get }
-
最初のストリーム。 マルチストリームでは、必ずしも最初のストリームが 送信ストリームとは限りません。 送信ストリームが必要であれば
senderStream
を使用してください。Declaration
Swift
public var mainStream: MediaStream? { get }
-
送信に使われるストリーム。 ストリーム ID が
configuration.publisherStreamId
に等しいストリームを返します。Declaration
Swift
public var senderStream: MediaStream? { get }
-
受信ストリームのリスト。 ストリーム ID が
configuration.publisherStreamId
と異なるストリームを返します。Declaration
Swift
public var receiverStreams: [MediaStream] { get }
-
接続を解除します。
Declaration
Swift
public func disconnect(error: Error?)
Parameters
error
接続解除の原因となったエラー
-
DataChannel を利用してメッセージを送信します
Declaration
Swift
public func sendMessage(label: String, data: Data) -> Error?