问题描述
这是RecyclerView适配器
var mpp: MediaPlayer? = null
override fun onBindViewHolder(holder: ViewHolder,position: Int) {
mpp = null
if(isVideo){
val uri = Uri.parse(fileUrl)
holder.vid.setVideoURI(uri)
holder.vid.requestFocus()
holder.vid.setonPreparedListener { mp -> //Start Playback
mpp = mp
holder.vid.start()
mpp!!.isLooping = true
}
}else{
// images
}
}
前4个项目是视频,第5-20个项目是图像。
播放视频可以,但是会出现问题:
当我滑动到第6项时,我会在观看图像的同时听到第1项的视频播放。
滑动到项目7可以播放项目2中的视频。项目8播放项目3的视频,项目9播放项目4的视频。
因此它触发了先前项目中的setonPreparedListener
,为什么呢?如何防止播放以前项目的视频并浪费带宽?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)