首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sinch中启动音频呼叫期间的视频

如何在sinch中启动音频呼叫期间的视频
EN

Stack Overflow用户
提问于 2017-07-24 19:32:58
回答 2查看 881关注 0票数 0

使用Sinch SDK

1)我打了个视频电话。我的GUI中有一个按钮。我想通过单击该按钮关闭视频,以便像音频呼叫一样进行呼叫。

我正在启动视频呼叫,作为

代码语言:javascript
复制
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中有一个按钮。我想通过单击按钮启动视频,以便像视频呼叫一样进行呼叫。

我正在启动音频呼叫,因为

代码语言:javascript
复制
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中保留呼叫。请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2017-07-24 22:24:33

您不能在音频呼叫中启动视频,您可以始终启动音频呼叫,并在开头暂停视频,使其看起来像音频呼叫。我们没有保留功能。

要静音,请使用音频控制器上的静音和取消静音

票数 0
EN

Stack Overflow用户

发布于 2018-10-23 01:02:01

希望这篇文章对未来的读者有用。

您真的不能在正在进行的通话中在callUserVideocallUser之间切换。但有一种替代方法可以实现该功能。这就是辛奇支持团队所说的

您可以暂停视频并仅进行语音操作,因此所有呼叫都是视频,您可以暂停/恢复视频曲目

这意味着,您必须始终使用callUserVideo开始呼叫,以防您想要在音频和视频之间切换。因此,为了在音频和视频之间切换,您需要做一些这样的事情。在您处理来电客户端的页面中。

代码语言:javascript
复制
// 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();
}

在你的视频通话监听器上,像这样实现

代码语言:javascript
复制
    .............
    .............
    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();
    }

最后,要在音频/视频之间切换,请执行以下操作

代码语言:javascript
复制
new OnClickListener() {
    @Override
    public void onClick(View v) {
        if (mAudioCallToggle.getTag().equals("Audio")) {
            mAudioCallToggle.setTag("Video");
            pauseVideo();
        } else {
            mAudioCallToggle.setTag("Audio");
            resumeVideo();
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45279538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档