日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小程序类似抖音视频整屏切换

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小程序类似抖音视频整屏切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

更新

現在已經更新了github地址和效果gif,可在文章最后查看。如果我的代碼對你有用,請幫我隨手star一下。

需求

最近在項目中需要加一個功能,在小程序中將已有的短視頻功能,按照抖音的方式來瀏覽,整屏,可上下滑動切換視頻,并添加上滑下滑的動畫。

思路

1.在video標簽上添加時間監聽。 2.如果1無法成功,就在video上面罩一層 cover-view,在cover-view上添加時間監聽。 3.如果上面兩種方法都不行,用小程序的onPageScroll頁面處理函數來監聽頁面的滾動。 4.上述三種方法都不行的話,用canvas在video上面罩一層,監聽滾動事件。

嘗試

現在video標簽上添加了觸摸事件的監聽,但是無法成功監聽到觸摸事件。 因為video 是原生組件,層級較高,所以嘗試在上面罩一層cover-view,并監聽滾動事件,但是同樣無法監聽。

前面兩種方法不行,我就采用了onPageScroll來監聽頁面是否發生滾動。這個方法會拿到當前頁面在垂直方向已滾動的距離。scrollindex用來控制滾動,totalNum是滾動的總數,部分代碼如下

在ios上可以滿足需求,能上下滾動,也能加上動畫,但是在安卓上卻不能動,嘗試著在頁面json文件中配置滾動相關,但都沒辦法,所以這個方法也不行了。

最后只有canvas這一個辦法了,在video組件上面定位一個canvas,在上面添加時間監聽,這是發現成功了,可以在控制臺看到打印出來的監聽 console。

實現

wxml:下面是wxml代碼,主要思路就是讓video寬高等于屏幕,點贊評論分享等功能,用cover-view定位到視頻上方,在將canvas定位到video上面滾動時滾動的是封面圖案,video標簽只有一個,滾動更改video的src。

wxss:都是一些定位相關的樣式沒有特殊的樣式就不貼圖了。不過做的時候這里有個坑,產品希望添加無限的向下滑動視頻,可以無限加載,所以最開始我才用的是animation動畫,對每一屏根據手指向上或者向下添加動畫,這樣做的話就無法做到,后來發現可以使用小程序的api,wx.createAnimation()在js中實現。

js:onload的時候this.animation = wx.createAnimation();用于切換時創建動畫。

需要監聽的滾動事件

js主要做的是判斷滾動方向,給wxml通過微信提供的animation方法來動態添加動畫,這樣就可以實現無限加載的需求了。scrollTop的作用是用來調整video標簽位置,因為現在滾動的時候添加滾動的事視頻的封面圖不是視頻本身,需要隱藏視頻,假如用wx:if;哎控制的話,會導致視頻隱藏在展現之后無法監聽之前添加的事件。

效果

在真機上可以生效,在手機上錄了視頻不知道怎么傳上來,轉gif也沒找到在mac怎么轉。。。

更新上來了gif,不過gif感覺稍微有點卡頓,沒手機上流暢。手機ios也是比安卓的流暢很多。但是都比這個圖片流暢。。。而且現在視頻地址都掛了,所以一直轉圈緩沖,沒辦法播放只剩下這個圖片了,正常緩沖結束后是會播放的。

最后

弄了好久弄出來的,真機和模擬器的效果差異很大,最好在真機測試。目前也不知道有沒有更好的辦法,菜鳥前端一個~

補充

github地址:github.com/xuguoyii/wx…

轉載于:https://juejin.im/post/5bea9075f265da611f073ce3

總結

以上是生活随笔為你收集整理的小程序类似抖音视频整屏切换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。