Sora
public final class Sora
サーバーへのインターフェースです。
Sora
オブジェクトを使用してサーバーへの接続を行います。
-
SDK の終了処理を行います。 アプリケーションの終了と同時に SDK の使用を終了する場合、 この関数を呼ぶ必要はありません。
Declaration
Swift
public static func finish()
-
ログレベル。指定したレベルより高いログは出力されません。 デフォルトは
info
です。Declaration
Swift
public static var logLevel: LogLevel { get set }
-
接続中のメディアチャネルのリスト
Declaration
Swift
public private(set) var mediaChannels: [MediaChannel] { get }
-
イベントハンドラ
Declaration
Swift
public let handlers: SoraHandlers
-
シングルトンインスタンス
Declaration
Swift
public static let shared: Sora
-
初期化します。 大抵の用途ではシングルトンインスタンスで問題なく、 インスタンスを生成する必要はないでしょう。 メディアチャネルのリストをグループに分けたい、 または複数のイベントハンドラを使いたいなどの場合に インスタンスを生成してください。
Declaration
Swift
public init()
-
サーバーに接続します。
Declaration
Swift
public func connect(configuration: Configuration, webRTCConfiguration: WebRTCConfiguration = WebRTCConfiguration(), handler: @escaping (_ mediaChannel: MediaChannel?, _ error: Error?) -> Void) -> ConnectionTask
Parameters
configuration
クライアントの設定
webRTCConfiguration
WebRTC の設定
handler
接続試行後に呼ばれるクロージャー。
mediaChannel
(接続成功時のみ) メディアチャネル
error
(接続失敗時のみ) エラー
Return Value
接続試行中の状態
-
音声ユニットの手動による初期化の可否。
false
をセットした場合、音声トラックの生成時に音声ユニットが自動的に初期化されます。 (音声ユニットを使用するにはaudioEnabled
にtrue
をセットして初期化する必要があります)true
をセットした場合、音声ユニットは自動的に初期化されません。 デフォルトはfalse
です。Declaration
Swift
public var usesManualAudio: Bool { get set }
-
音声ユニットの使用の可否。 このプロパティは
usesManualAudio
がtrue
の場合のみ有効です。 デフォルトはfalse
です。true
をセットした場合、音声ユニットは必要に応じて初期化されます。false
をセットした場合、すでに音声ユニットが初期化済みで起動されていれば、 音声ユニットを停止します。このプロパティを使用すると、音声ユニットの初期化によって AVPlayer などによる再生中の音声が中断されてしまうことを防げます。
Declaration
Swift
public var audioEnabled: Bool { get set }
-
AVAudioSession
の設定を変更する際に使います。 WebRTC で使用中のスレッドをロックします。 このメソッドは次のプロパティとメソッドの使用時に使ってください。category
categoryOptions
mode
secondaryAudioShouldBeSilencedHint
currentRoute
maximumInputNumberOfChannels
maximumOutputNumberOfChannels
inputGain
inputGainSettable
inputAvailable
inputDataSources
inputDataSource
outputDataSources
outputDataSource
sampleRate
preferredSampleRate
inputNumberOfChannels
outputNumberOfChannels
outputVolume
inputLatency
outputLatency
ioBufferDuration
preferredIOBufferDuration
setCategory(_:withOptions:)
setMode(_:)
setInputGain(_:)
setPreferredSampleRate(_:)
setPreferredIOBufferDuration(_:)
setPreferredInputNumberOfChannels(_:)
setPreferredOutputNumberOfChannels(_:)
overrideOutputAudioPort(_:)
setPreferredInput(_:)
setInputDataSource(_:)
setOutputDataSource(_:)
Declaration
Swift
public func configureAudioSession(block: () -> Void)
Parameters
block
ロック中に実行されるクロージャー
-
音声モードを変更します。 このメソッドは 接続完了後 に実行してください。
Declaration
Swift
public func setAudioMode(_ mode: AudioMode, options: AVAudioSession.CategoryOptions = [.allowBluetooth, .allowBluetoothA2DP, .allowAirPlay]) -> Result<Void, Error>
Parameters
mode
音声モード
Return Value
変更の成否
-
libwebrtc のログレベルを指定します。 ログは
RTCSetMinDebugLogLevel()
でも指定可能ですが、RTCSetMinDebugLogLevel()
ではログの時刻が表示されません。 本メソッドでログレベルを指定すると、時刻を含むログを出力します。Declaration
Swift
public static func setWebRTCLogLevel(_ severity: RTCLoggingSeverity)