2015-03-25 10 views
5

मैं वेबआरटीसी पर काम कर रहा हूं मैं स्थानीय नेटवर्क पर दो एंड्रॉइड उपकरणों के बीच लाइव स्ट्रीम कर रहा हूं, यह ध्वनि गुणवत्ता के मुद्दे को छोड़कर ध्वनि के लिए बहुत अच्छा काम कर रहा है, ध्वनि में शोर और गूंज है। अगर मैं एक छोर पर हाथ से मुक्त उपयोग करता हूं तो यह बेहतर हो जाता है लेकिन मैं हाथ से मुक्त नहीं करना चाहता हूं।ध्वनि में इको और शोर वेबआरटीसी एंड्रॉइड

तो मैं ध्वनि की गुणवत्ता में सुधार कैसे कर सकता हूं, ध्वनि की गुणवत्ता में सुधार करने के लिए कौन सी तकनीकें हैं। यह भी कहा गया है कि वेबआरटीसी में गूंज रद्दीकरण कार्यक्षमता है, यदि यह अभी भी गूंज क्यों है।

उत्तर

1

मुझे लगता है कि आप लार्सन प्रभाव का अनुभव कर रहे हैं, 2 ऑडियो आउटपुट दोनों माइक्रोफ़ोन द्वारा फिर से चलाए जा रहे हैं, अंतहीन ऑडियो लूप बनाते हैं। वहाँ ज्यादा नहीं है तो आप इस के खिलाफ कर सकता है यदि दोनों उपकरणों एक ही कमरे में रहे हैं, लेकिन वास्तव में ब्राउज़रों प्रतिध्वनि रद्द विकल्प आप इस तरह से (नहीं यकीन है कि वे डिफ़ॉल्ट रूप से कर रहे हैं) को सक्रिय कर सकते हैं:, मूक

if (window.chrome) { 
     audioConstraints = { 
      mandatory: { 
       echoCancellation: true 
      } 
     } 
    } else { 
     audioConstraints = { 
      echoCancellation: true 
     } 
    } 
    var constraints = {video: videoConstraints, audio: audioConstraints}; 
    navigator.getUserMedia(constraints, userMediaSuccess, userMediaError); 
इसके अलावा

स्थानीय वीडियो, उपयोगकर्ताओं को स्पष्ट रूप से इसकी आवश्यकता नहीं है।

1

क्या हो रहा है कि आप अपने स्वयं के स्थानीय ऑडियो को अपने आप वापस खेल रहे हैं। यह आपके माइक्रोफ़ोन और स्पीकर के बीच फीडबैक लूप बनाता है। यही कारण है कि जब आपके हाथों से मुक्त डिवाइस होता है तो यह थोड़ी बेहतर लगता है। आप को getUserMedia() की धारा को संशोधित करके स्थानीय ऑडियो निकाल सकते हैं:

var constraints = {video: true, audio: true}; 
getUserMedia(constraints, function(stream){ 
    var videoOnly = new MediaStream(stream.getVideoTracks()); 
}, errorHandler); 
+0

असल में मैं एंड्रॉयड पर इतना कोडिंग कर रहा हूँ एंड्रॉइड एंड पर मैं इसे कैसे कर सकता हूं? – umerk44

+0

@ umerk44 क्या आप उपयोगकर्ता के वीडियो और ऑडियो स्ट्रीम प्राप्त करने के लिए लिखे गए कुछ कोड को शामिल करने के लिए अपना प्रश्न संपादित कर सकते हैं? –

2

आप विशेष ऑडियो की कमी को जोड़ने के लिए जब आप ऑडियो स्रोत पैदा कर रहे कोशिश कर सकते हैं। यह होना चाहिए लगता है कि:

MediaConstraints audioConstarints = new MediaConstraints(); 
audioConstarints.mandatory.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true")); 
audioConstarints.mandatory.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true")); 

मीडिया ऑडियो सुविधाओं से संबंधित बाधाओं का एक बहुत कुछ नहीं है और मैं उन्हें के विभिन्न संयोजनों की कोशिश करने का सुझाव देते हैं, पूरी सूची आप यहां पा सकते हैं https://chromium.googlesource.com/external/webrtc/+/master/talk/app/webrtc/mediaconstraintsinterface.cc

संबंधित मुद्दे