マルチストリーム機能

概要

マルチストリーム機能とは、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 をセットします。 イベントハンドラを利用して映像ビューを用意するとよいでしょう。

© Copyright 2018-2024, Shiguredo Inc. Created using Sphinx 8.1.3