音声の操作

音声をミュートする

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

音量を変更する

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

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

任意の音声を送信する

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

音声モードと音声出力先を変更する

重要

この機能は 2020.6 以降のバージョンで対応しています。

重要

iOS 14.0 で、音声モードをデフォルト以外からデフォルトに戻したときに音声が出力されない事象を確認しています。その場合は端末を iOS 14.1 以降にアップデートしてください。

Sora iOS SDK では、音声モードと音声出力先を切り替える簡易的な API を用意しています。この API は AVAudioSession の次のプロパティを変更します:

  • 音声モード (AVAudioSession.Mode)

  • 音声カテゴリ (AVAudioSession.Category)

  • 音声カテゴリオプション (AVAudioSession.CategoryOptions)

  • 音声経路 (AVAudioSession.PortOverride)

さらに細かい設定を行う場合は AVAudioSession を使用してください。 また、ピア接続の設定や端末の状況によっては上記の設定が反映されない場合があるので注意してください。

音声モードの設定は Sora.setAudioMode(_:options:) で行います。詳細は API リファレンス を参照してください。

音声モードを変更するタイミング

音声モードの変更は 接続完了後 に行ってください。 Sora iOS SDK は接続完了時に接続設定に従って音声カテゴリを変更するので、接続完了前にセットした音声モードは接続完了時に上書きされます。

その他の操作

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

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

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

重要

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