2015-04-06 8 views
2

Я работаю над приложением, которое осуществляет прямой эфир между двумя устройствами Android. У меня довольно хорошие результаты, такие как подключение, видеопоток. Но я не доволен звуковым качеством, поэтому звук и шум звучат. Вот как я использую звуковую дорожкуКак удалить echo

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); 

Так что я ищу способ удаления эха и шумоподавления. любая помощь и руководство будут очень оценены.

+0

Как я могу использовать WebRTC AEC в моем текущем коде. Я не нашел в нем никакого документа. – umerk44

+0

Проверьте мой ответ здесь http://stackoverflow.com/questions/29249144/echo-and-noise-in-sound-webrtc-android/31407309#31407309, пожалуйста, это должно быть полезно –

ответ

0

Возможные решения для решения проблем со звуком качества:

  • Уменьшите разрешение видео, чтобы позволить более высокую пропускную способность для аудио
  • Не запускайте двух клиентов в одной и той же физической комнате (звук из динамика на одном компьютер входит в микрофон другого компьютера)
  • Уменьшите громкость динамика.
  • Используйте гарнитуру.
  • Используйте микрофон/динамик конференции со встроенным шумоподавлением.
  • Android реализации шумоподавления API (http://developer.android.com/reference/android/media/audiofx/NoiseSuppressor.html)