音视频通话 UIKit :只需几行代码就能将音视频通话集成到您的应用程序中

音视频通话 UIKit(Call Kit)是 ZEGO 发布的一个包含场景化的通用 UI 的SDK,且能够针对各种UI及功能自定义调整,从而快速实现从呼叫邀请、通话到挂断的全流程通话能力。 仅需几行代码,您就能将一对一和群组的语音/视频通话集成到您的应用程序中。

何时需要音视频通话 UIKit

  • 更快速、更简单地构建应用 希望短时间内快速集成标准通用的一对一或群组语音/视频通话,并不需要较复杂的交互逻辑。
  • 常见通用的自定义 UI 需求 希望根据自身业务需求,针对通话中的常见的 UI 或功能进行自定义,例如隐藏按钮等。
  • 获取最佳的场景实践 希望直接复用市面上已经过验证过的最佳场景方案,例如秒开、最佳音视频配置等。

功能简述

  • 即时可用的音频和视频通话
  • 可自定义的音频/视频通话 UI 风格
  • 设备管理
  • 视频通话中可切换视图
  • 屏幕自动旋转
  • 可扩展的菜单栏

音视频通话 UIKit 实现流程

前提条件

以 Android 平台为例

集成 SDK

1. 添加 jitpack 配置。 根据您的 Android Gradle 插件版本,选择对应的实现步骤。这里以 7.1.0 或更高版本为例

进入项目的根目录,打开 settings.gradle 文件,在 dependencyResolutionManagement > repositories 中添加 jitpack,示例代码如下:

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
      google()
      mavenCentral()
      maven { url 'https://storage.zego.im/maven' }   // <- 添加这行。
      maven { url 'https://www.jitpack.io' } // <- 添加这行。
  }
}

2. 修改您的 app 级别的 build.gradle 文件。

dependencies {
    ...
    implementation 'com.github.ZEGOCLOUD:zego_uikit_prebuilt_call_android:+' 
}

使用 ZegoUIKitPrebuiltCallFragment

声明 userIDuserNamecallID,用于创建通话。

  • userIDcallID 只能包含数字、字母和下划线(_)。
  • 使用相同 callID 的用户可以连接到同一个通话。
  • UIKit 默认语言为英文,如需修改为中文,请修改 ZegoUIKitPrebuiltCallConfig.zegoCallText
public class CallActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_call);

        addCallFragment();
    }

    public void addCallFragment() {
        long appID = yourAppID;
        String appSign = yourAppSign;

        String callID = callID;
        String userID = userID;
        String userName = userName;

        // 您也可以使用 GroupVideo/GroupVoice/OneOnOneVoice 来进行更多类型的呼叫。
        ZegoUIKitPrebuiltCallConfig config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall();
        // 设置语言为中文
        config.zegoCallText = new ZegoCallText(ZegoUIKitLanguage.CHS);
        ZegoUIKitPrebuiltCallFragment fragment = ZegoUIKitPrebuiltCallFragment.newInstance(
            appID, appSign, callID, userID, userName,config);

        getSupportFragmentManager().beginTransaction()
            .replace(R.id.fragment_container, fragment)
            .commitNow();
    }
}
class CallActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_call)
        addCallFragment()
    }

    private fun addCallFragment() {
        val appID: Long = yourAppID
        val appSign: String = yourAppSign
        val callID: String = callID
        val userID: String = userID
        val userName: String = userName

        // 您也可以使用 GroupVideo/GroupVoice/OneOnOneVoice 来进行更多类型的呼叫。
        val config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall()
        //  设置语言为中文
        config.zegoCallText = ZegoCallText(ZegoUIKitLanguage.CHS);
        val fragment = ZegoUIKitPrebuiltCallFragment.newInstance(
            appID, appSign, callID, userID, userName, config
        )
        supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, fragment)
            .commitNow()
    }
}

修改自动生成的 activity_call.xml 文件:

现在,您可以启动 CallActivity 进行音视频通话。

运行和测试

至此,您已经完成了所有步骤!

在 Android Studio 上点击 Run 即可在设备上运行和测试您的 App。

点击了解更多 音视频通话 UIKit 功能,或可扫码咨询。

音视频通话 UIKit :只需几行代码就能将音视频通话集成到您的应用程序中

本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/48399.html

(0)

相关推荐

发表回复

登录后才能评论