Android下使用WebRTC傳輸高品質立體聲音樂

WebRTC一般用於語音通信,但有時候也要傳輸音樂,這個時候對音質要求就比較高了,可以進行如下設置:

  • 設置JavaAudioDeviceModule爲立體聲,設置回聲消除和噪音消除爲false,設置採樣率爲48000。
        AudioDeviceModule audioDeviceModule= JavaAudioDeviceModule.builder(context)
                .setUseStereoInput(true)
                .setUseStereoOutput(true)
                .setUseHardwareNoiseSuppressor(false)
                .setUseHardwareAcousticEchoCanceler(false)
                .setSampleRate(48000)
                .createAudioDeviceModule();
  • 在本地SDP和遠程SDP的opus參數中設置立體聲(stereo)和最大比特率(maxaveragebitrate),例如:
a=fmtp:111 minptime=10;useinbandfec=1;stereo=1;sprop-stereo=1;maxaveragebitrate=120000
  • 設置AudioSource中的回聲消除和噪音消除爲false。
    private MediaConstraints createAudioConstraints() {
        MediaConstraints audioConstraints=new MediaConstraints();
        audioConstraints.optional.add(
                new MediaConstraints.KeyValuePair("googNoiseSuppression", "false"));
        audioConstraints.optional.add(
                new MediaConstraints.KeyValuePair("googEchoCancellation", "false"));
        audioConstraints.optional.add(
                new MediaConstraints.KeyValuePair("echoCancellation", "false"));
        audioConstraints.optional.add(
                new MediaConstraints.KeyValuePair("googEchoCancellation2", "false"));
        audioConstraints.optional.add(
                new MediaConstraints.KeyValuePair(
                        "googDAEchoCancellation", "false"));
        return audioConstraints;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章