开发与运行环境
- Android Studio
- 支持 Android 2.3 及以上系统版本; 支持 armv5/armv7a/arm64/x86/x86_64以及虚拟机运行。
下载最新的SDK并解压
下载最新的播放器 Android SDK,解压后文件目录如下:
├── Baidu-Cloud-Player-Android-<Version>-<Revision>│├── bdplayer-sample│├── BDCloudVideoView_sourcecode│├── javadoc│├── libs││├── armeabi││├── armeabi-v7a││├── arm64-v8a││├── x86││├── x86_64││└── bdplayer.jar
其中:
- bdplayer-sample为demo示例;
- BDCloudVideoView_sourcecode为BDCloudVideoView控件的java源代码;
- javadoc为Java API接口列表;
- libs为so文件及jar包。·
申请AK
申请账号并开通权限: 您需要登录阿里云控制台,在安全认证页面 获取 Access Key (AK)。SDK 认证时必须传入 AK 参数。
配置工程
通过下列步骤,将jar包和so库加入到工程中。
配置jar包
将bdplayer.jar复制到您工程的app/libs目录下,并在gradle文件的dependencies模块注明jar包路径,如下所示:
dependencies { compile files('libs/bdplayer.jar') compile files('libs/video_cache.jar')}
配置so库
将armeabi``armeabi-v7a等so库文件夹复制到 app/src/main/jniLibs目录下。
配置BDCloudVideoView控件
SDK默认提供BDCloudMediaPlayer类,如果您想使用BDCloudVideoView控件,需复制解压包中BDCloudVideoView_sourcecode目录下的代码到app/src/main/java中。
配置完成
配置完成后,目录如下所示:
├── bdplayer-sample│├── app││├── libs│││└── bdplayer.jar //jar包位置│││└── video_cache.jar││├── src│││├── main││││├── java│││││└── com.baidu.cloud.videoplayer.widget //BDCloudVideoView位置││││├── jniLibs│││││├── armeabi-v7a // so库文件位置│││││└── arm64-v8a
注意:
- 如果您也使用了其他的so库,请务必保证各个CPU架构下的so文件数完全相等。如armeabi-v7a与x86(若有)文件夹下的so文件数量完全相等。因为手机在安装Apk时,安装器仅会将相应CPU架构的文件夹内容复制到/data/data/com.your.package/lib目录下,若手机主CPU架构文件夹没有,则复制副CPU架构(多数手机副CPU架构为armeabi-v7a,模拟器一般无副CPU架构)的文件夹内容。阿里云播放器提供了全架构的so库支持,如果其他的so库仅支持有限的几个架构,请取所有SDK的so库架构的交集。
- app/src/main/jniLibs目录为Android Studio默认的so打包路径。如果您习惯将so文件放到app/libs目录下,需要额外配置gradle文件下的jniLibs.srcDirs = ['libs']。
声明SDK需要的权限
将以下权限加入到您的AndroidManifest.xml中,
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
防混淆设置
将以下语句加入到您的proguard混淆配置文件中,
-libraryjars libs/bdplayer.jar-keep class com.baidu.cloud.media.**{ *;}