集成SDK

更新时间: 2023/11/17 06:56:06

本文介绍如何集成 Android 端的播放器 SDK。

准备工作

  • 下载最新版的播放器SDK
  • 准备 Android Studio 或者 Eclipse 集成开发环境。
  • 准备Android 运行环境:Android 4.0 及以上版本。

示例项目源码

请通过 网易云信 SDK 下载中心 下载播放器最新版本的示例项目源码。

示例项目源码提供了详细的 API 使用示例,方便您参考示例项目源码快速实现播放器相关功能。

目录结构

开发者需要将播放器 SDK 集成到应用中,包括 Jar 包、底层动态库及相关资源文件。每个应用需要独立集成 Jar 包及动态库,如下图所示。

pic

播放器 SDK 提供两个 ZIP 包,分别是 NELivePlayer_Demo_Android_vx.x.xLivePlayer_Android_SDK_vx.x.x,两个 zip 包的用途和目录说明如下:

  • NELivePlayer_Demo_Android_vx.x.x

    里面包含一个示例工程,为了方便开发时更加简单方便的使用播放器 SDK。提供在播放器 SDK 基础上封装的 playerkit 组件,Demo 中通过调用 playerkit 组件来实现音视频播放。

  • LivePlayer_Android_SDK_vx.x.x:

    存放播放器 SDK 的 Java 依赖包和底层动态链接库,文件列表如下:

    libs
    ├── armeabi-v7a
    │   ├── libneliveplayer.so
    │   ├── libnelpengine.so
    │   ├── libnelprender.so
    │   ├── libnertd.so
    ├── x86
    │   ├── libneliveplayer.so
    │   ├── libnelpengine.so
    │   ├── libnelprender.so
    │   ├── libnertd.so
    ├── arm64-v8a
    │   ├── libneliveplayer.so
    │   ├── libnelpengine.so
    │   ├── libnelprender.so
    │   ├── libnertd.so
    ├── neliveplayer-x.x.x.jar (Java层代码)
    └── NELPGslb-x.x.x.jar (Java层代码)
    

集成SDK

方法一:通过 Maven 方式集成(推荐)

V2.9.0 及之后的播放器 SDK 版本,需要从 Maven 仓库中引入播放器 SDK。

  1. 在项目根目录的 build.gradle 文件里添加 mavenCentral,示例如下:

    allprojects {
        repositories {
            ...
            mavenCentral()
        }
    }
    
  2. gradle 文件添加对应依赖,示例如下:

    implementation 'com.netease.nimlib:neliveplayer:3.2.2'
    implementation 'com.netease:gslb:1.1.4'
    
    • 3.2.2 为播放器的版本号,请根据您的需要替换为对应的版本号。
    • 请访问网易云信 SDK 下载中心,获取播放器最新的版本号。

方法二:使用 SDK 包手动集成

  1. 若您需要创建新项目,在 Android Studio 里,在顶部菜单依次选择 File > New > New Project 新建工程,再依次选择 Phone and Tablet > Empty Activity,单击 Next

    image

    创建 Android 项目成功后,Android Studio 会自动开始同步 gradle, 您需要等同步成功后再进行下一步操作。

  2. 获取的最新版的播放器 SDK 中的 Jar 包和解压缩后的 so 动态库,添加到 App 工程的 libs 目录下。

    文件/文件夹 项目路径
    neliveplayer-x.x.x.jar /app/libs/
    NELPGslb-x.x.x.jar /app/libs/
    选择和 CPU 类型匹配的某个文件夹中的 so 动态库:
    • arm64-v8a
    • armeabi-v7a
    • x86
    /app/libs/

    pic

  3. 修改 app/build.gradle 文件,添加neliveplayer-x.x.x.jarNELPGslb-x.x.x.jar文件和动态库文件的依赖。

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
    }
    
    sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
    }
    
    
  4. 单击 File > Sync Project With Gradle Files 按钮,直到同步完成。

配置工程权限

SDK 需要访问网络、读写 SD 卡、获取设备信息等权限。

app/src/main/AndroidManifest.xml 中加入以下配置:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.netease.neliveplayer.demo" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="22" />

    <!-- 权限声明 -->
    <!-- 允许程序打开网络套接字 -->
    <uses-permission android:name="android.permission.INTERNET"/>
    <!-- 允许程序向外部存储设备写数据 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <!-- 允许程序向外部存储设备读数据 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <!-- 允许程序获取网络相关信息 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- 允许程序获取Wifi网络状态信息 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <!-- 允许程序获得设备信息 -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    
     
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
		<!-- 欢迎页面activity,默认竖屏模式 -->
        <activity
            android:name=".NEWelcomeActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- 播放设置页面activity,默认竖屏模式 -->
        <activity 
            android:name=".NEMainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden|screenSize"
            />
		<!-- 播放页面activity,默认横屏模式 -->
        <activity 
            android:name=".NEVideoPlayerActivity"
            android:label="@string/app_name"
            android:screenOrientation="landscape"
            android:configChanges="orientation|keyboardHidden|screenSize"
            />

        <!-- 申明本地电话状态(通话状态)的广播接收器,第三方APP集成时,如果需要在App中处理播放器与本地电话的交互请加上此接收器 -->
        <!-- receiver中的com.netease.neliveplayer.demo请替换为自己的包名 -->
        <receiver android:name="com.netease.neliveplayer.demo.receiver.IncomingCallReceiver">
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>
    </application>
 
</manifest>

防止代码混淆配置

请在 proguard-project.txt 文件中,为播放器 SDK 添加 -keep 类的配置,可以防止混淆播放器 SDK 公共类名称。

-keep class com.netease.neliveplayer.**{*;}
-keep class com.netease.gslb.** {*;}
此文档是否对你有帮助?
有帮助
去反馈
  • 准备工作
  • 示例项目源码
  • 目录结构
  • 集成SDK
  • 方法一:通过 Maven 方式集成(推荐)
  • 方法二:使用 SDK 包手动集成
  • 配置工程权限
  • 防止代码混淆配置