首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-native-video将麦克风静音

react-native-video将麦克风静音
EN

Stack Overflow用户
提问于 2021-03-31 23:31:19
回答 1查看 234关注 0票数 0

在webRTC调用期间播放视频时,它会导致本地流变为静音,而不会使音轨静音(音频音轨仍将启用的属性设置为true)。如果Video组件的“静音”属性设置为true,或者在呼叫开始前播放视频统计信息,但在呼叫过程中静音或取消静音视频后,麦克风仍会断开连接,则不会发生此情况。视频组件必须正在访问麦克风。你知道怎么修吗?发生在IOS 14,Xcode 12.2上

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 18:07:17

多亏了这个post我把它修好了。这是ios/Video/RTCVideo.m中的AVAudioSession的问题。原来,AVFoundation中的默认设置允许使用麦克风或扬声器(一次一个),因此安装视频组件或执行任何建立AVAudioSession的操作都会干扰使用麦克风的其他组件。

我更改了代码的这一部分:

代码语言:javascript
复制
- (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'时,此修复才有效

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66890810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档