使用互动直播 UIKit 在 Android 中实现连麦直播

互动直播 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。

前提条件

实现流程

集成 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 代表您想要开始或观看的一场直播。

注意:

  • userIDuserNameliveID 只能包含数字、字母和下划线 (_)。
  • 使用相同的 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 在 Android 中实现连麦直播

无需连麦功能实现,可以参考文档:互动直播 UIKit 快速开始

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

(0)

相关推荐

发表回复

登录后才能评论