音视频通话 UIKit(Call Kit)是 ZEGO 发布的一个包含场景化的通用 UI 的SDK,且能够针对各种UI及功能自定义调整,从而快速实现从呼叫邀请、通话到挂断的全流程通话能力。 仅需几行代码,您就能将一对一和群组的语音/视频通话集成到您的应用程序中。
何时需要音视频通话 UIKit
- 更快速、更简单地构建应用 希望短时间内快速集成标准通用的一对一或群组语音/视频通话,并不需要较复杂的交互逻辑。
- 常见通用的自定义 UI 需求 希望根据自身业务需求,针对通话中的常见的 UI 或功能进行自定义,例如隐藏按钮等。
- 获取最佳的场景实践 希望直接复用市面上已经过验证过的最佳场景方案,例如秒开、最佳音视频配置等。
功能简述
- 即时可用的音频和视频通话
- 可自定义的音频/视频通话 UI 风格
- 设备管理
- 视频通话中可切换视图
- 屏幕自动旋转
- 可扩展的菜单栏
音视频通话 UIKit 实现流程
前提条件
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目信息。
- 联系 ZEGO 技术支持,开通 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
声明 userID
、userName
和 callID
,用于创建通话。
userID
和callID
只能包含数字、字母和下划线(_)。- 使用相同
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 功能,或可扫码咨询。
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/48399.html