Skip to content

Latest commit

 

History

History
114 lines (101 loc) · 3.72 KB

usage.md

File metadata and controls

114 lines (101 loc) · 3.72 KB

环境配置

开发环境

开启Java8支持

app/build.gradle中加入以下配置以开启Java8支持:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

添加相关权限

app/src/main目录中的AndroidManifest.xml中增加如下权限声明:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

允许HTTP请求

从Android P系统开始,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响。由于本地代理服务需要使用http协议访问,针对这个问题,有以下两种解决方法:
(1) targetSdkVersion 降到27以下
(2) 更改网络安全配置,在app/src/main目录中的AndroidManifest.xml的标签中直接插入:

<application
  ...
  android:usesCleartextTraffic="true"
  ...
    />

混淆配置

为了保证正常使用 SDK ,请在 proguard-rules.pro 文件中添加以下代码:

-dontwarn com.cdnbye.**
-keep class com.cdnbye.**{*;}
-keep interface com.cdnbye.**{*;}
-dontwarn org.webrtc.**
-keep class org.webrtc.**{*;}

导入SDK

Gradle方式导入

dependencies {
  implementation 'com.cdnbye:sdk:latest.release'
}

快速开始

推荐在Application.OnCreate()中启动P2P加速服务。在播放之前使用parseStreamUrl()方法去转换播放地址开始播放。

导入 P2pEngine

import com.cdnbye.sdk.P2pEngine;

实例化 P2pEngine

public class MyApplication extends android.app.Application {
    @Override
    public void onCreate() {
        super.onCreate();
        P2pEngine.initEngine(this, YOUR_TOKEN, null);
    }
}

其中 YOUR_TOKEN 是用于标识用户的字符串,请换成自己的token,点击这里查看如何注册Appid并获取token

获取播放地址

使用加速功能,必须通过SDK把地址转换成加速地址,再把转换后的地址传给播放器即可(建议使用ExoPlayer)。

private void onPlay(){
  String parsedUrl = P2pEngine.getInstance().parseStreamUrl("https://your_stream.m3u8");
  mediaPlayer.play(parsedUrl);
}

就这么简单,你的播放器已经具备P2P能力了!

示例

获取完整的示例程序

P2P无效问题排查步骤

请参考常见问题

解决Exoplayer无法播放问题

请参考常见问题

如何减小APK体积

请参考常见问题