动态加载so文件方案实现
This commit is contained in:
@@ -30,6 +30,7 @@ import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.agora.rtc2.ChannelMediaOptions;
|
||||
@@ -62,6 +63,7 @@ public class SWAuManager extends BaseCacheManager {
|
||||
private FrameLayout pkContainer2; //pk主播视图2
|
||||
private FrameLayout pkContainer3; //pk主播视图3
|
||||
private FrameLayout linkUserContainer;//连麦用户视图
|
||||
private List<LiveBean> mDatas=new ArrayList<>();//保存数据 如果还没初始化的时候就把这个数据保存起来,等加载完so再来添加
|
||||
|
||||
private int liveMicUid;
|
||||
|
||||
@@ -113,6 +115,7 @@ public class SWAuManager extends BaseCacheManager {
|
||||
config.mContext = mContext;
|
||||
config.mAppId = CommonAppConfig.getSwAppId();
|
||||
config.mEventHandler = mRtcEventHandler;
|
||||
config.mNativeLibPath=mContext.getFilesDir().getAbsolutePath() + "/dynamic_so/";
|
||||
// 创建并初始化 RtcEngine
|
||||
mRtcEngine = (RtcEngineEx) RtcEngineEx.create(config);
|
||||
} catch (Exception e) {
|
||||
@@ -441,9 +444,21 @@ public class SWAuManager extends BaseCacheManager {
|
||||
}
|
||||
|
||||
public void preloadChannel(List<LiveBean> uids) {
|
||||
for (int i = 0; i < uids.size(); i++) {
|
||||
int code = mRtcEngine.preloadChannel(CommonAppConfig.SWToken, getChannelName(uids.get(i).getUid()), Integer.parseInt(CommonAppConfig.getInstance().getUid()));
|
||||
L.eSw("设置秒开数据 uid" + uids.get(i).getUid() + " --- userName:" + uids.get(i).getUserNiceName() + " code " + code);
|
||||
if (mRtcEngine==null){
|
||||
mDatas.addAll(uids);
|
||||
}else {
|
||||
for (int i = 0; i < uids.size(); i++) {
|
||||
int code = mRtcEngine.preloadChannel(CommonAppConfig.SWToken, getChannelName(uids.get(i).getUid()), Integer.parseInt(CommonAppConfig.getInstance().getUid()));
|
||||
L.eSw("设置秒开数据 uid" + uids.get(i).getUid() + " --- userName:" + uids.get(i).getUserNiceName() + " code " + code);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void preloadChannel() {
|
||||
if (mRtcEngine!=null && mDatas.size()>0){
|
||||
for (int i = 0; i < mDatas.size(); i++) {
|
||||
int code = mRtcEngine.preloadChannel(CommonAppConfig.SWToken, getChannelName(mDatas.get(i).getUid()), Integer.parseInt(CommonAppConfig.getInstance().getUid()));
|
||||
L.eSw("设置秒开数据 uid" + mDatas.get(i).getUid() + " --- userName:" + mDatas.get(i).getUserNiceName() + " code " + code);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user