LaiFeng-Android/SopCastComponent

在直播時回聲很明顯

WillyWLLu opened this issue · 12 comments

您好, 我透過您提供的sample code在YouTube上進行直播時, 視頻的回聲很明顯

設置setAec(true), 或透過AcousticEchoCanceler, AutomaticGainControl等方法都沒有效果

不曉得您有沒有其他想法或是建議? 感謝您的幫助!

@WillyWLLu 你的回声是怎么造成的?一边观看视频,一边采集吗?setAec(true)需要对采样率也进行设置,http://www.jianshu.com/p/2cb75a71009f 这篇文章也许对你有帮助。

感謝您的回覆

我目前是使用您sample code中的LandscapeActivity.java這個頁面進行直播功能的實作

我先從YouTube API拿到RTMP的位置, 再透過您sample code LandscapeActivity.java進行直播

在直播的過程中畫面顯示正常, 但是聲音回聲很明顯, 於是我進行以下回聲消除的設定, 還是不行
AudioConfiguration.Builder audioBuilder = new AudioConfiguration.Builder();
audioBuilder.setAec(true).setBps(32, 64).setFrequency(16000).setMime(DEFAULT_MIME).
setAacProfile(DEFAULT_AAC_PROFILE).setAdts(DEFAULT_ADTS).
setChannelCount(1).setEncoding(DEFAULT_AUDIO_ENCODING);
AudioConfiguration audioConfiguration = audioBuilder.build();
mLFLiveView.setAudioConfiguration(audioConfiguration);

後來我查到YouTube建議的編碼方式是雙聲道的, 因此我也將setChannelCount(2), 但還是沒有效果
https://support.google.com/youtube/answer/2853702?topic=2853713&hl=zh-Hant

setFrequency(16000)改为setFrequency(8000)

您好, 我將setFrequency(8000), 只能聽到"點 點 點"的聲音

new AudioConfiguration.Builder();
audioBuilder.setAec(true).setBps(32, 64).setFrequency(8000);
后面的不需要设置,你在尝试一下看看

您好, 感謝您的回覆, 我目前這樣設置會完全聽不到聲音喔

@WillyWLLu 哈哈 好的^_^

@WillyWLLu 是听不到声音,还是听不到回声?

您好, 是視頻只有畫面, 完全沒有任何聲音喔

@WillyWLLu 那可能Youtube不支持8000采样率的声音,aec一般在采样率8000的情况下才能使用。

好的, 我了解了, 謝謝您的幫忙

請問有人解決YouTube直播聲音問題了嗎?
謝謝