Android WebRTC实现-非常低的容量

Android WebRTC实现-非常低的容量,android,webrtc-android,Android,Webrtc Android,我已使用以下示例在我的应用程序上实现了视频会议选项: 基本上是工作得很好,但我有一个主要问题。即使我在设备上设置了最大音量,闪烁音频音量也非常低 我试图检查是否有任何参数可以定义音频音量,但在AudioBitRate=32和AudioCodec=OPUS旁边找不到此类参数 以下是am用于创建对等连接的参数: peerConnectionParameters = new PeerConnectionClient.PeerConnectionParameters(t

我已使用以下示例在我的应用程序上实现了视频会议选项:

基本上是工作得很好,但我有一个主要问题。即使我在设备上设置了最大音量,闪烁音频音量也非常低

我试图检查是否有任何参数可以定义音频音量,但在AudioBitRate=32和AudioCodec=OPUS旁边找不到此类参数

以下是am用于创建对等连接的参数:

    peerConnectionParameters =
            new PeerConnectionClient.PeerConnectionParameters(true,
                    false,
                    false,
                    videoWidth,
                    videoHeight,
                    0,
                    Integer.parseInt(getString(R.string.pref_maxvideobitratevalue_default)),
                    getString(R.string.pref_videocodec_default),
                    true,
                    false,
                    Integer.parseInt(getString(R.string.pref_startaudiobitratevalue_default)),
                    getString(R.string.pref_audiocodec_default),
                    false,
                    false,
                    false,
                    false,
                    false,
                    false,
                    false,
                    false,
                    null);
有人知道如何提高音量吗


我曾尝试更换默认的音频编解码器,但结果是同样的低音量。

经过多次检查和调查,我发现了问题。如果其他人也有同样的问题,我会在这里回答

我注意到声音不是传到扬声器而是传到耳罩…所以我添加了下面的代码来打开扬声器,问题就解决了

    audioManager = (AudioManager) this.activity.getSystemService(Context.AUDIO_SERVICE);
    audioManager.setSpeakerphoneOn(true);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
为了回答我把代码放在哪里的问题,我实际上添加了一个新图标,让用户可以在耳机和扬声器之间切换

以下是完整的代码:

    toggleSpeakerHeadset.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (speakerOn) {
                setHeadsetOn();
            } else {
                setSpeakerOn();
            }
        }
    });

private void setSpeakerOn() {
    speakerOn = true;
    toggleSpeakerHeadset.setImageResource(R.drawable.headset);
    audioManager.setSpeakerphoneOn(true);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}

private void setHeadsetOn() {
    speakerOn = false;
    toggleSpeakerHeadset.setImageResource(R.drawable.speaker);
    audioManager.setSpeakerphoneOn(false);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}

经过多次检查和调查,我发现了这个问题。如果其他人也有同样的问题,我会在这里回答

我注意到声音不是传到扬声器而是传到耳罩…所以我添加了下面的代码来打开扬声器,问题就解决了

    audioManager = (AudioManager) this.activity.getSystemService(Context.AUDIO_SERVICE);
    audioManager.setSpeakerphoneOn(true);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
为了回答我把代码放在哪里的问题,我实际上添加了一个新图标,让用户可以在耳机和扬声器之间切换

以下是完整的代码:

    toggleSpeakerHeadset.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (speakerOn) {
                setHeadsetOn();
            } else {
                setSpeakerOn();
            }
        }
    });

private void setSpeakerOn() {
    speakerOn = true;
    toggleSpeakerHeadset.setImageResource(R.drawable.headset);
    audioManager.setSpeakerphoneOn(true);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}

private void setHeadsetOn() {
    speakerOn = false;
    toggleSpeakerHeadset.setImageResource(R.drawable.speaker);
    audioManager.setSpeakerphoneOn(false);
    audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}

我的应用程序也有同样的问题。我想问一下我应该把这个代码放在哪里?它应该放在征得许可后和启动CALI之前。我的应用程序也有同样的问题。我想问一下我应该把这个代码放在哪里?它应该放在请求许可之后和开始通话之前