[英]react-native-video mutes the microphone
当在 webRTC 调用期间播放视频时,它会导致本地 stream 到 go 静音而不使轨道静音(音频轨道仍然具有启用的属性设置为 true)。 当 Video 组件的 'muted' 属性设置为 true 或在通话开始前播放视频统计信息时,不会发生这种情况,但在通话期间将视频静音或取消静音后,麦克风仍会断开连接。 视频组件必须访问麦克风。 你知道如何解决吗? 发生在 IOS 14、Xcode 12.2
由于这篇文章,我修复了它。 这是 ios/Video/RTCVideo.m 中的AVAudioSession
的问题。 事实证明, AVFoundation
中的默认设置允许一次使用麦克风或扬声器,因此安装视频组件或执行任何建立AVAudioSession
的操作会干扰使用麦克风的其他组件。
我更改了这部分代码:
- (void)setPaused:(BOOL)paused
{
if (paused) {
[_player pause];
[_player setRate:0.0];
} else {
if([_ignoreSilentSwitch isEqualToString:@"ignore"]) {
// [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; OLD
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error:nil]; //NEW
} else if([_ignoreSilentSwitch isEqualToString:@"obey"]) {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
}
[_player play];
[_player setRate:_rate];
}
_paused = paused;
}
仅当Video
组件中的ignoreSilentSwitch
设置为'ignore'
时,此修复程序才有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.