You need to enable JavaScript to run this app.
文档中心
视频直播

视频直播

复制全文
下载 pdf
集成 SDK
集成 Android 拉流 SDK
复制全文
下载 pdf
集成 Android 拉流 SDK

本文介绍如何集成 Android 拉流 SDK。

开发环境要求

  • Android 4.3 及以上系统;
  • armeabi-v7a、arm64-v8a 架构。

前提条件

已创建 SDK 应用并获取 License 文件。详见获取 SDK License

集成方式

直播支持在线集成和离线集成 2 种 SDK 集成方法。

  • 在线集成:使用构建工具 Gradle 自动加载;
  • 离线集成:手动下载 aar,再将其导入您当前的工程项目。您可通过提交工单联系技术支持,了解离线集成的具体步骤。

集成步骤

本章节为您介绍在线集成的具体步骤。
Step 1:配置 Maven 仓库
SDK 的集成需要配置多个 Maven 仓库,以确保所有必要的依赖项都能被正确下载。配置步骤如下:

  1. 打开根目录下的 build.gradle 文件。

  2. 配置主仓库服务器的 URL。主仓库的 URL 为: https://artifact.bytedance.com/repository/Volcengine/,集成代码示例如下:

    allprojects {
        repositories {
            google()
            mavenCentral()
            maven {
                url "https://artifact.bytedance.com/repository/Volcengine/" // volc public maven repo
            }
        }
    }
    
  3. 配置其他 Maven 仓库。由于基础拉流功能和其他相关组件分布在不同的 Maven 仓库中,您需要额外配置其他 Maven 仓库以确保所有依赖项都能被正确获取。

    • 对于 AGP 7.1 以下版本:在根目录下的 build.gradle 文件中,添加以下代码快速集成其他仓库的配置:

      apply from: 'https://ve-vos.volccdn.com/script/vevos-repo-base.gradle'
      
    • 对于 AGP 7.1 及以上版本:将 https://ve-vos.volccdn.com/script/vevos-repo-base.gradle 中的 Maven 配置拷贝到 settings.gradle 文件的 dependencyResolutionManagement 配置块下。

Step 2:配置环境和依赖

  1. 打开主工程下的 build.gradle 文件并完成以下配置:

    • defaultConfig 中配置 App 使用的 CPU 架构。支持 armeabi-v7a 和 arm64-v8a 架构。
    • 在依赖 dependencies 中添加依赖。
    android {
       defaultConfig {
           ndk {
               //设置 SO 库架构,支持 armeabi-v7a 和 arm64-v8a 架构。
               abiFilters 'armeabi-v7a', 'arm64-v8a'
            }
       }
    }
    
    dependencies {
        ......
       // 基础拉流功能
       implementation 'com.bytedanceapi:ttsdk-ttlivepull_standard:x.x.x.x' 
       
    

    其中,

    • 如需使用拉流 SDK 的高级版 License 功能,必须将 implementation 'com.bytedanceapi:ttsdk-ttlivepull_standard:x.x.x.x 替换为 implementation 'com.bytedanceapi:ttsdk-ttlivepull_premium:x.x.x.x'
    • 如需使用 QUIC 协议拉流功能,必须同时添加 implementation 'com.bytedanceapi:ttsdk-ttquic:x.x.x.x'implementation 'com.bytedanceapi:ttsdk-ttlivepull_premium:x.x.x.x' 依赖。

    说明

    x.x.x.x 替换为 SDK 的指定版本。推荐使用最新版本。版本号详见 Android 拉流 SDK 发布历史

  2. 单击 Sync Now 按钮同步 SDK,SDK 将自动下载集成到工程。如果出现集成失败,请检查您与 Maven 仓库的网络连接。

配置权限

  1. 在 AndroidManifest.xml 文件中声明应用间交互的权限。

    <!-- 使用权限 -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.INTERNET" />
    
  2. 添加动态申请权限代码。

    private boolean checkPermission(int request) {
            String permissions[] = new String[]{
                    Manifest.permission.CAMERA,
                    Manifest.permission.RECORD_AUDIO,
                    Manifest.permission.MODIFY_AUDIO_SETTINGS,
                    Manifest.permission.ACCESS_NETWORK_STATE
            };
            List<String> permissionList = new ArrayList<>();
            for (String permission : permissions) {
                boolean granted = ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED;
                if (granted) continue;
                permissionList.add(permission);
            }
            if (permissionList.isEmpty()) return true;
    
            String permissionsToGrant[] = new String[permissionList.size()];
            permissionList.toArray(permissionsToGrant);
            ActivityCompat.requestPermissions(this, permissionsToGrant, request);
            return false;
    }
    

添加 License

拷贝 License 文件到工程目录下。例如下图所示,将 License2_test.lic 文件拷贝到 assets 目录下。
Image

配置混淆规则

在 proguard-rules.pro 文件中,将 SDK 相关类加入不混淆名单。

-keep class com.pandora.**{*;}
-keep class com.ss.**{*;} 
-keep class com.bytedance.**{*;}
-keep class com.pandora.ttlicense2.**{*;}
-keep class com.bytertc.**{*;}
-keep class log.**{*;}

注意

如果您集成了 RTC SDK,除上述混淆规则外,您还需要配置 RTC 版本混淆规则

最近更新时间:2026.05.02 01:52:15
这个页面对您有帮助吗?
有用
有用
无用
无用