iOS のマイクの権限について¶
iOS 版の libwebrtc は送受信に関わらずマイクの権限を要求します。 この挙動により、マイクの権限を必要としない、受信のみを行うアプリが App Store の審査でリジェクトされる可能性があります。 この問題を解決するため、 React Native WebRTC Kit では独自のパッチを適用し、マイクの有効/無効を制御できるようにしています。
マイクの有効/無効を制御する方法¶
WebRTC.setMicrophoneEnabled(false)
を実行することでマイクを無効化できます。
引数を true
に変更して実行することでマイクを有効化できますが、マイクはデフォルトで有効になっているため、動的に有効/無効を制御したいケースを除き、明示的に有効化する必要はありません。
例: マイクを無効化する
import {
WebRTC,
} from 'react-native-webrtc-kit';
if (Platform.OS === 'ios') {
WebRTC.setMicrophoneEnabled(false);
}
マイクの権限が要求されるタイミング¶
マイクの権限は WebRTC のコネクションが確立されたタイミングで要求されます。 このタイミングは libwebrtc と iOS の今後のアップデートで変更される可能性があります。