我在我的Android应用程序中集成了appRTC代码用于调用目的,已完成。现在视频&音频通话工作正常。我的问题是,我需要实现以下目标。
1 即可。静音&在通话时取消静音。
2 即可。将视频呼叫切换到音频呼叫,反之亦然。
到目前为止,我经常搜索并且没有运气。如果你能在这些方面给我任何领导,那就太好了。提前谢谢。
答案 0 :(得分:2)
<强> 1。静音&amp;通话时取消静音。
您可能需要在此处明确添加静音功能。
<强> 2。拨打电话时,将视频呼叫切换为音频呼叫,反之亦然。
AppRtc演示中的PeerConnectionClient类取决于以下类:
要将视频通话切换为音频,您需要在VideoCapturerAndroid.java中显式调用stopCapture
答案 1 :(得分:0)
到目前为止,在音频和视频通话之间切换没有运气。但我找到了一种解决方案,可以在通话时静音麦克风音频。
setMicrophoneMute(boolean on)
中有一个AppRTCAudioManager
方法。我们可以使用相同的代码来静音麦克风。我刚刚创建了另一种方法。
public void setMicroPhoneMute(){
boolean wasMuted = audioManager.isMicrophoneMute();
if(wasMuted)
audioManager.setMicrophoneMute(false);
else
audioManager.setMicrophoneMute(true);
}
只要在任何地方打电话给你。
答案 2 :(得分:0)
虽然这是在javascript中,但它可以很容易地在android中实现。
当通过webrtc创建连接时,我们收到Media Stream,为了切换目的,我们可以删除audiotrack或录像带,然后再通过新配置将sdp从提交者发送到回答方。
mediaStream.removeAudioTrack(Audiotrack audioTrack) ; //for audio to video switching
mediaStream.removeVideoTrack(VideoTrack videoTrack) ; // video to audio switching
答案 3 :(得分:0)
使用此功能在静音 - &gt;之间切换unMute,视频 - &gt;音频
只需要MediaStream localMS
//disable video in stream
VideoTrack currentTrack = localMS.videoTracks.get(0);
currentTrack.setEnabled(false);
//disable audio in stream // mute
AudioTrack curentAudioTrack = localMS.audioTracks.get(0);
curentAudioTrack.setEnabled(false);
如果你想取消静音,只需使用像这样的
AudioTrack curentAudioTrack = localMS.audioTracks.get(0);
curentAudioTrack.setEnabled(true);
视频相同