類型:
大。
評分:
平臺:
標(biāo)簽:
關(guān)注嗨客手機(jī)app
禮包、游戲、app應(yīng)有盡有
轉(zhuǎn)化到前端的邏輯:用戶滾動頁面一定高度之后,要連續(xù)播放視頻1,2 中間用戶是沒有用戶觸發(fā)行為的。
解決思路: 當(dāng)用戶有觸發(fā)行為時,就同時初始化視頻1和視頻2,給視頻1添加ended事件,視頻1播放完畢后就直接播放視頻2 [v2.play()]
然而現(xiàn)實(shí)卻很殘酷(在android下會提示解析錯誤或者彈框讓你選擇文件打開方式)
既然上面的方法不行,那就用另外一種方法:當(dāng)用戶第一次觸屏頁面的時候去初始化視頻2,然后等用戶滾動頁面一定高度的時候再去播放視頻1,當(dāng)視頻1播放完畢,在回調(diào)里面直接播放視頻2:
但這樣還是會報錯,我在想是不是canplay的事件發(fā)生的時候,video還沒有初始化完成,但文檔里面又找不到video初始化完成的API。
于是把逐個看似跟video初始化完成差不多的事件全都試了個遍,包括oncanplaythrough oncanplay onplay onplaying onprogress onreadystatechange ontimeupdate... 結(jié)果統(tǒng)統(tǒng)都不行。
后來經(jīng)過反復(fù)調(diào)試和測試,發(fā)現(xiàn)一個規(guī)律,把視頻2在自帶的控制條上手動觸發(fā)播放,等開始播放之后,再手動暫定,然后再播放1,等視頻1結(jié)束后調(diào)用視頻2 是正常的,也不會報錯。
基本上可以總結(jié)成一個規(guī)律:只要視頻2已經(jīng)播放過,哪怕一幀就行,這樣當(dāng)視頻1播放完畢之后再play視頻2,就是正常的!
好既然找出規(guī)律來,那么就好辦了,怎么監(jiān)視視頻播放過呢?由于沒有現(xiàn)成的api.只能用別的事件來控制了~
因?yàn)樵谥耙言囘^video的N多事件,這時候該 timeupdate 登場了。 文檔解釋是:當(dāng)播放位置改變時(比如當(dāng)用戶快進(jìn)到媒介中一個不同的位置時)運(yùn)行的腳本。
50%
我支持
0
50%
我反對
0