互动直播 UIKit(Live Streaming Kit)是 ZEGO 开发的一个功能丰富、带 UI 的直播组件,它支持仅通过几行代码,即可在网页或应用中构建常见的直播功能。同时,还支持通过配置参数来自定义实现多种直播特性。
互动直播 UIKit 常用功能特性
- 即用型直播应用
- 可定制的用户界面风格
- 实时互动文本聊天
- 实时显示观众容量
- 设备管理
- 可扩展的菜单栏
- 连麦功能(申请连麦和接受连麦邀请)
互动直播 UIKit 实现连麦直播步骤
准备环境
在开始集成互动直播 UIKit 前,请确保开发环境满足以下要求:
- Android Studio 2020.3.1 或以上版本。
- Android SDK 25、Android SDK Build-Tools 25.0.2、Android SDK Platform-Tools 25.x.x 或以上版本。
- Android 4.4 或以上版本,且支持音视频的 Android 设备。
- Android 设备已经连接到 Internet。
前提条件
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目信息。
- 联系 ZEGO 技术支持,开通 UIKit 相关服务。
实现流程
集成 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' } // <- 添加这行。
}
}
- 如果您的 Android Gradle 插件是 7.1.0 之前 的版本:进入项目根目录,打开
build.gradle
文件,以如下方式在allprojects
->repositories
中添加 jitpack:
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://storage.zego.im/maven' } // <- 添加这行。
maven { url "https://jitpack.io" } // <- 添加这行。
}
}
2. 修改应用级别的 build.gradle
文件。
dependencies {
...
implementation 'com.github.ZEGOCLOUD:zego_uikit_prebuilt_live_streaming_android:+' // 添加这行到您的模块级 build.gradle 文件的依赖部分,通常命名为 [app]。
implementation 'com.github.ZEGOCLOUD:zego_uikit_signaling_plugin_android:+' // 添加这行到您的模块级 build.gradle 文件的依赖部分,通常命名为 [app]。
}
使用互动直播 UIKit
- 指定 userID 和 userName 来指定用户以实现直播服务。
- liveID 代表您想要开始或观看的一场直播。
注意:
userID
、userName
和liveID
只能包含数字、字母和下划线 (_)。- 使用相同的
liveID
将进入同一个直播间。且同一个直播间内,只有一个用户可以作为主播加入,其他用户需要作为观众加入,但观众可以连麦。 - UIKit 默认语言为英文,如需修改为中文,请修改
ZegoUIKitPrebuiltLiveStreamingConfig.translationText
。
public class LiveActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call);
addFragment();
}
public void addFragment() {
long appID = yourAppID; // 替换为您的 AppID
String appSign = yourAppSign; // 替换为您的 AppSign
String userID = yourUserID; // 替换为您的 UserID
String userName = yourUserName; // 替换为您的 UserName
boolean isHost = getIntent().getBooleanExtra("host", false);
String yourLiveID = getIntent().getStringExtra("liveID");
ZegoUIKitPrebuiltLiveStreamingConfig config;
if (isHost) {
config = ZegoUIKitPrebuiltLiveStreamingConfig.host(true);
} else {
config = ZegoUIKitPrebuiltLiveStreamingConfig.audience(true);
}
//修改为中文
config.translationText = new ZegoTranslationText(ZegoUIKitLanguage.CHS);
ZegoUIKitPrebuiltLiveStreamingFragment fragment = ZegoUIKitPrebuiltCallFragment.newInstance(
appID, appSign, userID, userName,yourLiveID,config);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow();
}
}
class LiveActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_live)
addFragment()
}
private fun addFragment() {
val appID: Long = yourAppID // 替换为您的 AppID
val appSign = yourAppSign // 替换为您的 AppSign
val userID = YourUserID // 替换为您的 UserID
val userName = YourUserName // 替换为您的 UserName
val isHost = intent.getBooleanExtra("host", false)
val yourLiveID = intent.getStringExtra("liveID")
val config: ZegoUIKitPrebuiltLiveStreamingConfig
config = if (isHost) {
ZegoUIKitPrebuiltLiveStreamingConfig.host(true)
} else {
ZegoUIKitPrebuiltLiveStreamingConfig.audience(true)
}
//修改为中文
config.translationText = ZegoTranslationText(ZegoUIKitLanguage.CHS)
val fragment = ZegoUIKitPrebuiltLiveStreamingFragment.newInstance(
appID, appSign, userID, userName, yourLiveID, config
)
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow()
}
}
然后,您可以通过启动您的 LiveActivity
开始直播。
运行 & 测试
现在您已经完成了所有步骤。
您只需在 Android Studio 中点击 运行 就可以在设备上运行和测试应用。
演示效果如下:
无需连麦功能实现,可以参考文档:互动直播 UIKit 快速开始
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/49133.html