真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutter所有視頻的簡單介紹

求flutter的教學(xué)視頻?。。?!

Flutter教程全套 (全網(wǎng)獨家)百度網(wǎng)盤免費資源在線學(xué)習(xí) ?

古丈網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),古丈網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為古丈超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的古丈做網(wǎng)站的公司定做!

鏈接:

提取碼: m9z8 ?

Flutter教程全套 (全網(wǎng)獨家)

第一套:Flutter 攜程17章全-整理好

第五套:Flutter高仿谷歌翻譯項目課程

第四套:兩小時掌握Flutter移動App開發(fā)視頻

第三套:flutter入門到精通全套

第七套:Flutter小實戰(zhàn)20個

第六套:仿直聘boss的flutter完整教程

第九套:Flutter跨平臺開發(fā)

第二套:flutter移動電商實戰(zhàn)-技術(shù)胖

第八套:Flutter基礎(chǔ)教程(基礎(chǔ)不好的優(yōu)先看)

24Flutter的打包.mp4

23靜態(tài)資源和項目圖片的處理.mp4

22頁面跳轉(zhuǎn)并返回數(shù)據(jù)_.mp4

21導(dǎo)航的參數(shù)傳遞和接受-2_.mp4

20導(dǎo)航的參數(shù)傳遞和接受-1.mp4

Flutter視頻播放器,簡潔!

注:亮度調(diào)節(jié)和音量調(diào)節(jié)gif無法體現(xiàn),功能是ok的,其次默認Icon鎖的close和open實在難以分辨。

環(huán)境:Flutter 2.8.1 channel stable ;Dart 2.15.1

需要音頻播放器的看這里: Flutter音樂播放器

重點說下這個工具類,因為視頻播放,涉及到狀態(tài)改變有很多,筆者剛開始選擇使用 InheritedWidget 來在眾多的widget之間共享數(shù)據(jù)。但是總感覺這樣有點繁瑣,且不很優(yōu)雅!

這里非廣告,如果是使用 GetX 就很簡單了,筆者也使用了 GetX 進行封裝了,一瀉千里的趕腳!,但是筆者還是那句話:剛開始接觸Flutter的開發(fā)者不是很建議使用 GetX ,可以先熟悉下Flutter狀態(tài)管理的基礎(chǔ)原理再行使用。而且為了盡量簡潔,還是不引入其他的第三方了。

我們選擇對第三方插件進行封裝的目的不外乎這幾個:

于是筆者就寫了一個工具類 VideoPlayerUtils ,專門且只用來處理播放器的所有業(yè)務(wù)。包括暫停、播放、跳轉(zhuǎn)、調(diào)節(jié)音量、調(diào)節(jié)亮度、切換視頻等操作。在所有的widget中不會引用關(guān)于 video_player 或其他第三方插件的任何信息, VideoPlayerUtils 負責(zé)widget與播放器之間的所有操作交互。后續(xù)優(yōu)化迭代或更換播放器插件時,只需針對這個工具類進行修改,對所有widget不會有任何的影響,大大的解耦合了。

其中 VideoPlayerState :

提供以上的公共屬性,可以通過 VideoPlayerUtils 來獲取對應(yīng)的值,使用 get 只讀,使外界不會誤修改這些屬性,以保證數(shù)值的安全性。開發(fā)者可根據(jù)自身需要自行添加屬性。

提供以上方法來處理播放器的所有業(yè)務(wù)。同樣的開發(fā)者可根據(jù)自身需要自行添加或修改。

重點說下這個方法,是整個業(yè)務(wù)的核心方法,控制視頻的播放或暫停。開發(fā)者只要遇到播放或暫停是均可調(diào)用此方法,具體是播放或暫停,內(nèi)部根據(jù)傳入的 url 自行判斷,開發(fā)者不需要關(guān)心。

切換新視頻也是使用此方法,傳入的 url 與上次不一致,自動切換新視頻。筆者可根據(jù) statusListener 來監(jiān)聽播放狀態(tài)的改變,以此處理自身邏輯。

這個也需要提下,視頻播放器在播放新視頻時會異步初始化,一般我們的操作是在 initState() 初始化,成功后再 setState() 。這里筆者遇到一個讓人蛋疼的問題:

我們看 video_player 的使用:

VideoPlayer(controller) :widget中已經(jīng)持有了controller。本來筆者封裝的目的就是為了讓widget與controller的之間解耦合。但此時的筆者。。。。

放棄不是不可能放棄的,這輩子都不會放棄的!

于是筆者取了巧,寫了一個初始化監(jiān)聽器 initializedListener ,包換2個參數(shù): bool,Widget ,初始化是否成功;其中widget為初始化成功返回需要展示的播放器UI,失敗默認返回 const SizedBox() 。

到這里就可以簡單使用了:

沒看錯,視頻播放就是這么簡單。

如果有更多的業(yè)務(wù)功能,筆者也按照自己的需求寫了一套,同樣的開發(fā)者可根據(jù)自身需要自行添加或修改。

VideoPlayerGestures 主要是處理手勢的,比如快進、快退等跳轉(zhuǎn)播放;左側(cè)上下滑動調(diào)節(jié)亮度;右側(cè)上下滑動調(diào)節(jié)音量;單擊是否開啟沉浸式播放,所有widget的隱藏與顯示;雙擊播放、暫停等。

哦,還有 PercentageWidget 也放到這個文件下了,就是這玩意:

因為顯示的百分比與手勢相關(guān),隨著手勢移動而更新。開發(fā)者可自行處理。

筆者處出于簡單考慮,就按照整個UI的位置命名了。瞅一眼就知道是啥玩意。

同樣的開發(fā)者可根據(jù)自身需要自行添加或修改。

就是這玩意:

同樣的開發(fā)者可根據(jù)自身需要自行添加或修改。話說這個鎖的 Icon 的open和close是真的難分辨!

就是這玩意:

同樣的開發(fā)者可根據(jù)自身需要自行添加或修改。

這玩意是自定義的,別問,問就是跟產(chǎn)品干一架落了下風(fēng)

主要就是自定義這玩意:

同樣的開發(fā)者可根據(jù)自身需要自定義。

注:這里沒有添加緩沖的進度,開發(fā)可查看 video_player 中的源碼 VideoProgressIndicator ,按業(yè)務(wù)自行定義。

這玩意就是整合以上的widget,再考慮下全屏的安全區(qū)域,沒啥東西。開發(fā)者可自行處理!

具體的實現(xiàn)監(jiān)聽器的思路, 看這里 。

自此一個漂亮的Flutter視頻播放器就已經(jīng)結(jié)束了。如果您覺得對您有些許幫助的話,歡迎 Star !

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程(28 個視頻)

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #01 環(huán)境搭建 「14:03」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #02 Dart 語言 「17:49」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #03 建立 Android studio 虛擬設(shè)備 「04:12」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #04 建立第一個項目 「08:23」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #05 安裝配置過程中可能遇到的問題(沒遇到者可以跳過) 「05:07」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #06 運行 iOS 模擬器 「04:07」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #07 Flutter 概述 「06:15」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #08 Scaffold AppBar 「Pro」「06:50」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #09 文檔和快捷鍵 「Pro」「02:36」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #10 顏色 Colors 「Pro」「05:47」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #11 自定義字體 fonts 「Pro」「05:09」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #12 hot reload StatelessWidget 「Pro」「04:56」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #13 使用圖片 「Pro」「04:59」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #14 使用圖標(biāo) - Icon 「Pro」「01:27」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #15 Button 按鈕使用指南 「Pro」「04:35」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #16 Container 和 Padding 「Pro」「04: 52」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #17 Row 「Pro」「05:24」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #18 Column 「Pro」「05:36」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #19 Flutter Outline Shortcuts 「Pro」「03:18」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #20 Expanded Widgets 「Pro」「06:06」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #21 實戰(zhàn)開始 「Pro」「11:42」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #22 換個編輯器 - Visual Studio Code 「Pro」「04:50」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #23 Stateful vs Stateless Widget 「Pro」「09:45」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #24 列表處理 「Pro」「04:54」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #25 自定義 class 「Pro」「05:37」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #26 card widget 「Pro」「04:26」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #27 Extracting Widgets 「Pro」「06:59」

Flutter 零基礎(chǔ)入門實戰(zhàn)視頻教程 #28 刪除 - Functions as Parameters - 完結(jié) - 進入實戰(zhàn)課 「Pro」「04:35」


新聞標(biāo)題:flutter所有視頻的簡單介紹
網(wǎng)站路徑:http://weahome.cn/article/hoppjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部