我點(diǎn)擊RecyclerView任意一個(gè)item的播放按鈕,始終都是第一個(gè)item播放,請(qǐng)問(wèn)這個(gè)該怎么解決?視頻播放用的是IjkPlayer,Adapter用的是BRVAH.
public class HomeFragment extends Fragment implements BaseQuickAdapter.OnItemChildClickListener {
@BindView(R.id.rv_home)
RecyclerView mRvHome;
private HomeAdapter homeAdapter;
private List<HomeListBean> mDatas;
private PlayerView player;
private Context mContext;
private List<VideoijkBean> list;
private PowerManager.WakeLock wakeLock;
View rootView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
this.mContext = getActivity();
rootView = inflater.inflate(R.layout.fragment_home, null);
ButterKnife.bind(this, rootView);
initData();
initEvent();
return rootView;
}
private void initData() {
mDatas = new ArrayList<>();
HomeListBean bean;
for (int i = 0; i < 6; i++) {
bean = new HomeListBean();
bean.setTvHomeItemTitle("2018年德瑪西亞冬季賽八強(qiáng)賽敗者組決賽 第3場(chǎng)2018年德瑪西亞第3場(chǎng)2018年德瑪西亞第3場(chǎng)2018年德瑪西亞");
bean.setBtnGameType("LOL");
bean.setTvType("解說(shuō)");
bean.setTvYearType("2018德瑪西亞杯");
bean.setTvVideoCount("555個(gè)視頻");
bean.setImgUrl("http://pic2.nipic.com/20090413/406638_125424003_2.jpg");
mDatas.add(bean);
}
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRvHome.setLayoutManager(linearLayoutManager);
mRvHome.addItemDecoration(new DividerItemDecoration(getActivity(), 1));
homeAdapter = new HomeAdapter(R.layout.item_home, mDatas, mContext);
mRvHome.setLayoutManager(new LinearLayoutManager(getActivity()));
}
private void initEvent() {
mRvHome.setAdapter(homeAdapter);
homeAdapter.setOnItemChildClickListener(this);
}
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
Toast.makeText(mContext, "點(diǎn)擊了第" + position + "個(gè)播放", Toast.LENGTH_SHORT).show();
/**虛擬按鍵的隱藏方法*/
rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//比較Activity根布局與當(dāng)前布局的大小
int heightDiff = rootView.getRootView().getHeight() - rootView.getHeight();
if (heightDiff > 100) {
//大小超過(guò)100時(shí),一般為顯示虛擬鍵盤(pán)事件
rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
} else {
//大小小于100時(shí),為不顯示虛擬鍵盤(pán)或虛擬鍵盤(pán)隱藏
rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}
}
});
/**常亮*/
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "liveTAG");
wakeLock.acquire();
list = new ArrayList<>();
String url = "http://9890.vod.myqcloud.com/9890_9c1fa3e2aea011e59fc841df10c92278.f20.mp4";
// View itemView = View.inflate(mContext, R.layout.item_home, null);
player = new PlayerView(getActivity(), rootView) {
@Override
public PlayerView toggleProcessDurationOrientation() {
hideSteam(getScreenOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
return setProcessDurationOrientation(getScreenOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ? PlayStateParams.PROCESS_PORTRAIT : PlayStateParams.PROCESS_LANDSCAPE);
}
@Override
public PlayerView setPlaySource(List<VideoijkBean> list) {
return super.setPlaySource(list);
}
};
player.setProcessDurationOrientation(PlayStateParams.PROCESS_PORTRAIT)
.setScaleType(PlayStateParams.fillparent)
.forbidTouch(false)
.hideSteam(true)
.hideCenterPlayer(true)
// .showThumbnail(new OnShowThumbnailListener() {
// @Override
// public void onShowThumbnail(ImageView ivThumbnail) {
// Glide.with(mContext)
// .load("http://pic2.nipic.com/20090413/406638_125424003_2.jpg")//默認(rèn)封面
// .placeholder(R.mipmap.temp_home)
// .error(R.color.cl_error)
// .into(ivThumbnail);
// }
// })
.setPlaySource(url)//播放網(wǎng)絡(luò)視頻
.setChargeTie(false, 60).startPlay();// 手動(dòng)設(shè)置暫停時(shí)間,true為需要收費(fèi)(根據(jù)maxPlaytime自動(dòng)暫停),false不收費(fèi)(正常完整播放)
}
@Override
public void onPause() {
super.onPause();
if (player != null) {
player.onPause();
}
/**demo的內(nèi)容,恢復(fù)系統(tǒng)其它媒體的狀態(tài)*/
MediaUtils.muteAudioFocus(mContext, true);
}
@Override
public void onResume() {
super.onResume();
if (player != null) {
player.onResume();
}
/**demo的內(nèi)容,暫停系統(tǒng)其它媒體的狀態(tài)*/
MediaUtils.muteAudioFocus(mContext, false);
/**demo的內(nèi)容,激活設(shè)備常亮狀態(tài)*/
if (wakeLock != null) {
wakeLock.acquire();
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (player != null) {
player.onDestroy();
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (player != null) {
player.onConfigurationChanged(newConfig);
}
}
//TODO:Fragment監(jiān)聽(tīng)返回按鈕
// @Override
// public void onBackPressed() {
// if (player != null && player.onBackPressed()) {
// return;
// }
// super.onBackPressed();
// /**demo的內(nèi)容,恢復(fù)設(shè)備亮度狀態(tài)*/
// if (wakeLock != null) {
// wakeLock.release();
// }
// }
}
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。