音频不发送反应-原生-webrtc。

问题描述 投票:2回答:1

在最后的prepareWebrtc函数中,我有以下代码。

MediaStreamTrack.getSources(sourceInfos => {
  var isFront = camera_front
  console.log(sourceInfos);
  let videoSourceId;
  for (const i = 0; i < sourceInfos.length; i++) {
    const sourceInfo = sourceInfos[i];
    if(sourceInfo.kind == "video" &&
       sourceInfo.facing == (isFront ? "front" : "back")) {
      videoSourceId = sourceInfo.id;
    }
  }
  console.log("videoSourceId:" + videoSourceId)
  getUserMedia({
    "audio": true,
    "video":false
  }, (stream) => {
    streamsDone(handleId, jsep, media, callbacks, stream)
  },
  // TODO: add error handling
  () => undefined
  );
});

当安卓系统中的 "视频 "为真,而当视频为假时{optional: [{sourceId: videoSourceId}] } 对于ios来说,音频可以被传输,但是,我必须请求相机权限,我不想这样做。当我做 "video":false时,音频可以被我的应用程序接收,但是,它没有被发送。

react-native webrtc
1个回答
0
投票

首先检查androidmanifest.xml中的权限。下面的权限应该在那里。

    <uses-permission android:name="android.permission.MICROPHONE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

接下来检查你要发送的候选数据,它应该包含以下内容 "sdpMid": "audio"

现在如果还是没有音频,那可能是因为react-native-webrtc在耳机上播放音频,将其改为扬声器使用 https:/github.comreact-native-webrtcreact-native-incall-manager。

© www.soinside.com 2019 - 2024. All rights reserved.