目的を呼び出すために、Android アプリケーションに appRTC コードを統合しました。現在、ビデオとオーディオの通話は正常に機能しています。私の問題は、次のことを達成する必要があることです。
1 . 通話中にオーディオをミュートおよびミュート解除します。
2 . 通話中にビデオ通話を音声通話に、またはその逆に切り替えます。
私はたくさん検索しましたが、これまでのところ運がありませんでした。これらについて何か手がかりをいただければ幸いです。前もって感謝します。
目的を呼び出すために、Android アプリケーションに appRTC コードを統合しました。現在、ビデオとオーディオの通話は正常に機能しています。私の問題は、次のことを達成する必要があることです。
1 . 通話中にオーディオをミュートおよびミュート解除します。
2 . 通話中にビデオ通話を音声通話に、またはその逆に切り替えます。
私はたくさん検索しましたが、これまでのところ運がありませんでした。これらについて何か手がかりをいただければ幸いです。前もって感謝します。
1.通話中にオーディオをミュートおよびミュート解除します。
このクラスは、オーディオを制御するために使用されます: https://chromium.googlesource.com/external/webrtc/+/b69ab79338bff71ea411b82f3dd59508617a11d5/talk/examples/android/src/org/appspot/apprtc/AppRTCAudioManager.java
ここでミュート機能を明示的に追加する必要がある場合があります。
2. 通話中にビデオ通話を音声通話に、またはその逆に切り替えます。
AppRtc デモの PeerConnectionClient クラスは、次のクラスに依存します。
ビデオ通話を音声に切り替えるには、VideoCapturerAndroid.java で明示的に stopCapture を呼び出す必要があります。
これまでのところ、音声通話とビデオ通話を切り替えることはできません。しかし、通話中にマイクの音声をミュートする解決策を見つけました。setMicrophoneMute(boolean on)
に方法がありAppRTCAudioManager
ます。同じコードを使用してマイクをミュートできます。このような別のメソッドを作成しました。
public void setMicroPhoneMute(){
boolean wasMuted = audioManager.isMicrophoneMute();
if(wasMuted)
audioManager.setMicrophoneMute(false);
else
audioManager.setMicrophoneMute(true);
}
好きな場所でこれを呼び出すだけです。
オーディオ/ビデオの切り替えについては、このリンクを参照してください -リンク
これはjavascriptですが、androidでも簡単に実装できます。
接続が webrtc 経由で作成されると、Media Stream を受信します。切り替えの目的で、audiotrack または videotrack を削除してから、新しい構成でオファー側からアンサー側に sdp を再度送信できます。
mediaStream.removeAudioTrack(Audiotrack audioTrack) ; //for audio to video switching
mediaStream.removeVideoTrack(VideoTrack videoTrack) ; // video to audio switching