Android WebRTC 实施 - 音量非常低
Android WebRTC implementaion - very low volume
我已经使用以下示例在我的应用程序中实现了视频会议选项:
https://github.com/androidthings/sample-videoRTC
基本上运行良好,但我有一个主要问题。即使我将设备的音量调到最大,尖叫声的音量也非常低。
我试图检查是否有任何参数可以定义音频音量,但无法在 AudioBitRate(=32) 和 AudioCodec=("OPUS") 旁边找到此类参数。
这些是用于创建 peerConnection 的参数:
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);
}
我已经使用以下示例在我的应用程序中实现了视频会议选项: https://github.com/androidthings/sample-videoRTC
基本上运行良好,但我有一个主要问题。即使我将设备的音量调到最大,尖叫声的音量也非常低。
我试图检查是否有任何参数可以定义音频音量,但无法在 AudioBitRate(=32) 和 AudioCodec=("OPUS") 旁边找到此类参数。
这些是用于创建 peerConnection 的参数:
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);
}