マルチストリーム機能¶
概要¶
マルチストリーム機能とは、1 つのピア接続で複数のストリームを管理する機能です。 詳しくは Sora ドキュメント を参照してください。
マルチストリーム機能を有効にする¶
Sora にマルチストリーム機能で接続するには、 Configuration
オブジェクトの生成時に multistreamEnabled
引数に true
を指定します。
1 つの接続で送信と受信の両方を行うのであれば、ロールに .sendrecv
を指定します。
接続例:
let config = Configuration(url: url,
channelId: channelId,
role: .sendrecv,
multistreamEnabled: true)
// ストリームが追加されたときに行う処理です。
config.mediaChannelHandlers.onAddStream = { [weak self] stream in
...
}
// ストリームが削除されたときに行う処理です。
config.mediaChannelHandlers.onRemoveStream = { [weak self] error in
...
}
Sora.shared.connect(configuration: config) {
...
}
マルチストリーム機能で接続すると、同一のチャネル ID に接続されているすべてのストリームが MediaChannel
に追加されます。
同一のチャネル ID のストリームが増減すると MediaChannel
が保持するストリームも増減します。
ストリームが追加されると MediaChannel
のイベントハンドラ MediaChannelHandlers.onAddStreamHandler
が、削除されると onRemoveStreamHandler
が呼ばれます。
映像を描画するには、各ストリームにそれぞれ VideoRenderer
をセットします。
イベントハンドラを利用して映像ビューを用意するとよいでしょう。