1.喜马拉雅开放平台注册/审核后,在“我的应用”中创建应用
2.添加内容信息
3.我使用的是android studio androidmainfest中配置
权限:
android:name="app_key"
android:value="申请应用中的appkey" />
android:name="pack_id"
android:value="申请应用中的包名" />
service/receiver:
android:exported="true" android:process=":player" >
android:name="com.ximalaya.ting.android.opensdk.player.receive.PlayerReceiver"
android:exported="true" android:process=":player" >
android:process=":player"
android:exported="true" />
app_key:开放平台应用公钥
app_secret:开放平台应用私钥,请务必加密存储,切勿泄露
pack_id:客户端包名,对Android客户端是apk包名
4.添加包-放入项目lib中
build.gradle
android {
...
productFlavors{
arm{
ndk{
abiFilters "armeabi" ,"armeabi-v7a"
}
}
}
}
5.混淆
-dontwarn okio.**
-keep class okio.** { *;}
-dontwarn okhttp3.**
-keep class okhttp3.** { *;}
-dontwarn com.google.gson.**
-keep class com.google.gson.** { *;}
-dontwarn android.support.**
-keep class android.support.** { *;}
-dontwarn com.ximalaya.ting.android.player.**
-keep class com.ximalaya.ting.android.player.** { *;}
-dontwarn com.ximalaya.ting.android.opensdk.**
-keep interface com.ximalaya.ting.android.opensdk.** {*;}
-keep class com.ximalaya.ting.android.opensdk.** { *; }
6.可以开搞了 嗯嗯。。
application类中在oncreate中初始化喜马拉雅参数。
.
CommonRequest.getInstanse().init(context, appSecret);
然后我自己定义了一个service,来用于初始化,播放,暂停 (由于项目功能要求不高,所以这一块就实现了2个实施功能)
2部分内容如下。
application 片段
private RequestTracker requestTracker = new RequestTracker() {
@Override
public void onWaiting(RequestParams params) {
Logger.log("TingApplication : onWaiting " + params);
}
@Override
public void onStart(RequestParams params) {
Logger.log("TingApplication : onStart " + params);
}
@Override
public void onRequestCreated(UriRequest request) {
Logger.log("TingApplication : onRequestCreated " + request);
}
@Override
public void onSuccess(UriRequest request, Object result) {
Logger.log("TingApplication : onSuccess " + request + " result = " + result);
}
@Override
public void onRemoved(UriRequest request) {
Logger.log("TingApplication : onRemoved " + request);
}
@Override
public void onCancelled(UriRequest request) {
Logger.log("TingApplication : onCanclelled " + request);
}
@Override
public void onError(UriRequest request, Throwable ex, boolean isCallbackError) {
Logger.log("TingApplication : onError " + request + " ex = " + ex + " isCallbackError = " + isCallbackError);
}
@Override
public void onFinished(UriRequest request) {
Logger.log("TingApplication : onFinished " + request);
}
};
自定义service
public class DeviceXmlyPlayService extends Service {
private XmPlayerManager mPlayerManager;
private final String TAG=DeviceXmlyPlayService.class.getSimpleName();
private Intent it;
public class MyPlayBinder extends Binder {
public DeviceXmlyPlayService getService(){
return DeviceXmlyPlayService.this;
}
}
private MyPlayBinder binder=new MyPlayBinder();
@Override
public void onCreate() {
super.onCreate();
initPlay