カメラの切り替え

ビデオ通話中にキャプチャしているカメラを切り替える方法を解説します。

SkyWay iOS SDKでは、映像を停止することなくカメラを切り替えられる API を提供しています。

カメラを切り替える手順

現在 front カメラで映像キャプチャしているとして、これを back カメラに切り替えたいと思います。

切り替え先のカメラを取得する

CameraVideoSource.supportedCameras()でカメラの一覧を取得し、その中から back カメラを取得します。

let camera = CameraVideoSource.supportedCameras().first(where: { $0.position == .back })

カメラを切り替える

カメラが正常に取得できていることを確認してから、CameraVideoSource.change(device:)でカメラを切り替えます。

guard let camera = camera else { print("カメラの取得に失敗しました。") } try await CameraVideoSource.shared().change(camera)

以上で切り替え完了です。

キャプチャするカメラを切り替えると、CameraVideoSource.createStream()で生成したすべてのLocalVideoStreamに設定が反映されます。

また、LocalVideoStreamが既に publish されている場合は、その映像もすべて切り替わります。