使用Sinch SDK
1)我打了一个视频电话。我的GUI中有一个按钮。我想通过点击按钮来关闭视频,以便像打电话一样进行通话。
我正在开始视频通话
Call call = getSinchServiceInterface().callUserVideo("user1");
String callId = call.getCallId();
Intent callScreen = new Intent(this, RunningVideoCallActivity.class);
callScreen.putExtra(SinchService.CALL_ID, callId);
startActivity(callScreen);
2)我打过电话。我的GUI中有一个按钮。我想通过点击按钮开始视频来进行视频通话。
我正在开始音频通话
Call call = getSinchServiceInterface().callUser("user1");
String callId = call.getCallId();
Intent callScreen = new Intent(this, RunningAudioCallActivity.class);
callScreen.putExtra(SinchService.CALL_ID, callId);
startActivity(callScreen);
3)如何在Sinch中静音。
4)如何在Sinch中接听电话。请帮忙。
答案 0 :(得分:0)
您无法在音频通话中启动视频,您可以做的是始终启动音频通话并在开头暂停视频,使其看起来像一个音频通话。我们没有保持功能。
要在音频控制器上静音使用静音和取消静音
答案 1 :(得分:0)
希望这对将来的读者有用。
在通话过程中,您实际上无法在callUserVideo
和callUser
之间切换。
但是,还有另一种方法可以实现该功能。这是Sinch支持团队所说的,
您可以暂停视频并只做语音,因此所有通话都是视频,您可以暂停/恢复视频曲目
这意味着,如果要在音频和视频之间切换,则必须始终以callUserVideo
开始通话。
因此,要在音频和视频之间切换,您需要执行以下操作。在您处理来电客户端的页面中。
// function to be called when you want to toggle to video call
private void resumeVideo() {
if (mVideoCall != null) {
mVideoCall.resumeVideo();
}
}
// enable speaker
// add remote and local video views
private void resumeVideoCallback() {
mAudioCallToggle.setText("Switch to AudioCall");
if (getSinchServiceInterface() != null && getSinchServiceInterface().getAudioController() != null) {
getSinchServiceInterface().getAudioController().enableSpeaker();
}
addLocalView();
addRemoteView();
}
// function to be called when you want to toggle to audio call
private void pauseVideo() {
if (mVideoCall != null) {
mVideoCall.pauseVideo();
}
}
// disable speaker
// remove remote and local video views
private void pauseVideoCallback() {
mAudioCallToggle.setText("Switch to VideoCall");
if (getSinchServiceInterface() != null && getSinchServiceInterface().getAudioController() != null) {
getSinchServiceInterface().getAudioController().disableSpeaker();
}
removeVideoViews();
}
然后在您的视频通话监听器上实现
.............
.............
other implementations
.............
.............
@Override
public void onVideoTrackAdded(Call call) {
Log.d(TAG, "Video track added");
addRemoteView();
}
@Override
public void onVideoTrackPaused(Call call) {
pauseVideoCallback();
}
@Override
public void onVideoTrackResumed(Call call) {
resumeVideoCallback();
}
最后在音频/视频之间切换,执行类似的操作
new OnClickListener() {
@Override
public void onClick(View v) {
if (mAudioCallToggle.getTag().equals("Audio")) {
mAudioCallToggle.setTag("Video");
pauseVideo();
} else {
mAudioCallToggle.setTag("Audio");
resumeVideo();
}
}
}