音声の操作

音声をミュートする

音声をミュートするには MediaStreamaudioEnabled プロパティに false をセットします。パブリッシャーとグループでは、ミュートしてもマイクは稼働しているので注意してください。

音量を変更する

サブスクライバーもしくはグループの受信ストリームでのみ、音量は MediaStreamaudioVolume プロパティで変更可能です。 このプロパティは 0 から 10 の値をとります。 0 をセットすると音声は出力されません。

送信ストリームで送信する音声の音量は変更できません。

任意の音声を送信する

WebRTC ライブラリの制約により、 Sora iOS SDK ではマイク入力以外の音声を送信できません。ご了承ください。

その他の操作

音声の出力は AVAudioSession により管理されているため、その他の操作は AVAudioSession のインスタンスを利用してください。

注意点を次に示します。

  • AVAudioSession のプロパティの変更は Sora オブジェクトの configureAudioSession(block:) のブロック内で行ってください。 このメソッドは WebRTC で使用されるスレッドをロックします。 詳しくは Sora クラスの API を参照してください。

  • setInputGain(_:) では音量を変更できません。

マイクのパーミッションについて

マイクのパーミッションは配信時にのみ要求されます。 マイクを使う場合は、 必ず Info.plist にマイクの用途を記述してください。

重要

2020.3 以下のバージョンもしくはデフォルト設定でビルドされた WebRTC ライブラリでは、マイクの使用の有無に関わらずパーミッションが要求されます。 Sora iOS SDK が利用する WebRTC ライブラリは弊社が音声処理の実装に手を加えています。