【已解决】 喜马拉雅原视频35集播放器无声音的问题(新旧SDK)
喜马拉雅原视频35集,完全按照拉大锯老师的流程做下来的,但是播放器点击进入无声音,使用的是旧的SDK。之后看了一下论坛里的同学说是sdk新旧问题,我自己尝试修改了一下,但是出现了如下问题。
新sdk中TingApplication的相应代码是:
CommonRequest mXimalaya = CommonRequest.getInstanse();
if(DTransferConstants.isRelease) {
String mAppSecret = "8646d66d6abe2efd14f2891f9fd1c8af";
mXimalaya.setAppkey("9f9ef8f10bebeaa83e71e62f935bede8");
mXimalaya.setPackid("com.app.test.android");
mXimalaya.init(this ,mAppSecret, getDeviceInfoProvider(this));//第六行
} else {
String mAppSecret = "0a09d7093bff3d4947a5c4da0125972e";
mXimalaya.setAppkey("f4d8f65918d9878e1702d49a8cdf0183");
mXimalaya.setPackid("com.ximalaya.qunfeng");
mXimalaya.init(this ,mAppSecret, getDeviceInfoProvider(this));//第十一行
}
public IDeviceInfoProvider getDeviceInfoProvider(Context context) {//第十三行
return new DeviceInfoProviderDefault(context) {//第十四行
@Override
public String oaid() {
return "!!!这里要传入真正的oaid oaid 接入请访问 http://www.msa-alliance.cn/col.jsp?id=120";
}
};
}
}
旧sdk中TingApplication的相应代码是:
CommonRequest mXimalaya = CommonRequest.getInstanse();
if(DTransferConstants.isRelease) {
String mAppSecret = "8646d66d6abe2efd14f2891f9fd1c8af";
mXimalaya.setAppkey("9f9ef8f10bebeaa83e71e62f935bede8");
mXimalaya.setPackid("com.app.test.android");
mXimalaya.init(this ,mAppSecret);
}
else {
String mAppSecret = "0a09d7093bff3d4947a5c4da0125972e";
mXimalaya.setAppkey("f4d8f65918d9878e1702d49a8cdf0183");
mXimalaya.setPackid("com.ximalaya.qunfeng");
mXimalaya.init(this ,mAppSecret);
}
如果直接复制新sdk里面的代码的话,6、11、13、14行里 this 和 context是红的,于是我创建了Private context mcontext;再往里面传,然后程序就直接闪退了... 请问同学们和老师该如何解决,麻烦大家了!!
搞了小半个上午,我来说说解决方法吧!
1.首先SDK必须是全新的,直接官网下载。
2.把sdk里面的so文件和包全部+C+V到自己的项目libs里
3.打开build.gradle找到dependencies{...},并加入以下代码
4.syn一下,显示成功。
5.打开BaseApplication,因为老师的版本和现在的版本方法有点不一样,所以我修改了如下代码。
6.真机(MI 5)成功运行并播放出了声音。
https://github.com/anjiemo/Himalaya
自行对比吧,注意http的问题,要修改一下配置,支持http访问。sdk27以上只支持https.
照着1楼做 第五步 打开BaseApplication 把代码复制进去报错了是怎么回事呀?