2

我正在开发在两个 android 设备之间进行直播的应用程序。我已经得到了很好的结果,比如连接、视频流。但我对声音质量不满意,声音中有如此多的回声和噪音。这就是我使用音轨的方式

localMS = factory.createLocalMediaStream("ARDAMS");
          if(pcParams.videoCallEnabled)
          {
              MediaConstraints videoConstraints = new MediaConstraints();
              videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxHeight", height));
              videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxWidth",  width));
              videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("maxFrameRate", Integer.toString(pcParams.videoFps)));
              videoConstraints.mandatory.add(new MediaConstraints.KeyValuePair("minFrameRate", Integer.toString(pcParams.videoFps)));

              videoSource = factory.createVideoSource(getVideoCapturer(), videoConstraints);
              localMS.addTrack(factory.createVideoTrack("ARDAMSv0", videoSource));
          }

          AudioSource audioSource = factory.createAudioSource(new MediaConstraints());
          localMS.addTrack(factory.createAudioTrack("ARDAMSa0", audioSource));

          mListener.onLocalStream(localMS);

所以我正在寻找消除回声和噪声消除的方法。任何帮助和指导将不胜感激。

4

1 回答 1

0

解决音质问题的可能解决方案:

  • 降低视频分辨率以允许更多带宽用于音频
  • 不要在同一个物理房间中运行两个客户端(一台计算机上的扬声器发出的声音进入另一台计算机的麦克风)
  • 降低扬声器音量。
  • 使用耳机。
  • 使用具有内置降噪功能的会议麦克风/扬声器。
  • Android 实现降噪 API ( http://developer.android.com/reference/android/media/audiofx/NoiseSuppressor.html )
于 2015-04-10T04:43:37.660 回答