公司的項(xiàng)目需要一個(gè)視頻的滾動(dòng)列表。
創(chuàng)新互聯(lián)建站成都網(wǎng)站建設(shè)按需制作,是成都營(yíng)銷推廣公司,為攪拌罐車提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開(kāi)發(fā)等。成都網(wǎng)站維護(hù)熱線:18982081108搜了些文章比較常見(jiàn)的是根據(jù)列表項(xiàng)的可視百分比來(lái)判斷的。實(shí)現(xiàn)起來(lái)略復(fù)雜。
這里想了一個(gè)在要求不高的情況下,實(shí)現(xiàn)相對(duì)簡(jiǎn)便的方法:根據(jù)列表滾動(dòng)時(shí)可見(jiàn)的第一個(gè)列表項(xiàng)的位置來(lái)播放和暫停對(duì)應(yīng)列表項(xiàng)內(nèi)的視頻。
它的效果大致是這樣的:
以下是它的實(shí)現(xiàn)。
首先當(dāng)然是建立列表。
這部分就直接用ListView吧,列表的具體的實(shí)現(xiàn)就不貼了。大致就是長(zhǎng)這樣的一個(gè)列表:
接下來(lái)就是添加播放器。
這里需要注意的是,在ListView里不能使用我們常用的那種VideoView?;赟urfaceView的VideoView由于沒(méi)有同步緩沖區(qū),它不能在ListView中正常顯示。(顯然SurfaceView+MediaPlayer的形式也不太適合了)我們需要基于TextureView的視頻播放器。
這里偷個(gè)懶,就直接用 PLDroidPlayer這個(gè)庫(kù)中的PLVideoTextureView了
在列表的Adapter中的添加播放器。
Adapter的布局:
<?xml version="1.0" encoding="utf-8"?>