Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #01 環(huán)境搭建 「14:03」
站在用戶的角度思考問題,與客戶深入溝通,找到周至網(wǎng)站設(shè)計(jì)與周至網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋周至地區(qū)。
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #02 Dart 語言 「17:49」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #03 建立 Android studio 虛擬設(shè)備 「04:12」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #04 建立第一個(gè)項(xiàng)目 「08:23」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #05 安裝配置過程中可能遇到的問題(沒遇到者可以跳過) 「05:07」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #06 運(yùn)行 iOS 模擬器 「04:07」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #07 Flutter 概述 「06:15」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #08 Scaffold AppBar 「Pro」「06:50」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #09 文檔和快捷鍵 「Pro」「02:36」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #10 顏色 Colors 「Pro」「05:47」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #11 自定義字體 fonts 「Pro」「05:09」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #12 hot reload StatelessWidget 「Pro」「04:56」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #13 使用圖片 「Pro」「04:59」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #14 使用圖標(biāo) - Icon 「Pro」「01:27」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #15 Button 按鈕使用指南 「Pro」「04:35」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #16 Container 和 Padding 「Pro」「04: 52」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #17 Row 「Pro」「05:24」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #18 Column 「Pro」「05:36」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #19 Flutter Outline Shortcuts 「Pro」「03:18」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #20 Expanded Widgets 「Pro」「06:06」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #21 實(shí)戰(zhàn)開始 「Pro」「11:42」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #22 換個(gè)編輯器 - Visual Studio Code 「Pro」「04:50」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #23 Stateful vs Stateless Widget 「Pro」「09:45」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #24 列表處理 「Pro」「04:54」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #25 自定義 class 「Pro」「05:37」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #26 card widget 「Pro」「04:26」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #27 Extracting Widgets 「Pro」「06:59」
Flutter 零基礎(chǔ)入門實(shí)戰(zhàn)視頻教程 #28 刪除 - Functions as Parameters - 完結(jié) - 進(jìn)入實(shí)戰(zhàn)課 「Pro」「04:35」
只能說 Flutter 確實(shí)很強(qiáng)大
ffmpeg 插件,文檔沒給出如何給視頻添加水印, 但是給出了執(zhí)行命令的方法演示, 這就足夠了。
添加一個(gè)水印:
String command = "-i " + inputVideoPath +
" -i "+waterMarkPath+" -filter_complex overlay "+
outVideoPath+"";
添加多個(gè)水印命令:
String command = "-i " + inputVideoPath +
" -i "+waterMarkPath2+" -i "+waterMarkPath+
" -filter_complex overlay=10:10,overlay=5:5 "+
outVideoPath+"";
將視頻轉(zhuǎn)換成小尺寸視頻:
String command = "-i " + inputVideoPath +" -b:v 10000k -s 216x384 "+ outVideoPath+"";
如果碰到 App crash with error message: couldn't find "libmobileffmpeg_abidetect.so"
執(zhí)行
flutter clean
flutter doctor -v
Flutter教程全套 (全網(wǎng)獨(dú)家)百度網(wǎng)盤免費(fèi)資源在線學(xué)習(xí) ?
鏈接:
提取碼: m9z8 ?
Flutter教程全套 (全網(wǎng)獨(dú)家)
第一套:Flutter 攜程17章全-整理好
第五套:Flutter高仿谷歌翻譯項(xiàng)目課程
第四套:兩小時(shí)掌握Flutter移動App開發(fā)視頻
第三套:flutter入門到精通全套
第七套:Flutter小實(shí)戰(zhàn)20個(gè)
第六套:仿直聘boss的flutter完整教程
第九套:Flutter跨平臺開發(fā)
第二套:flutter移動電商實(shí)戰(zhàn)-技術(shù)胖
第八套:Flutter基礎(chǔ)教程(基礎(chǔ)不好的優(yōu)先看)
24Flutter的打包.mp4
23靜態(tài)資源和項(xiàng)目圖片的處理.mp4
22頁面跳轉(zhuǎn)并返回?cái)?shù)據(jù)_.mp4
21導(dǎo)航的參數(shù)傳遞和接受-2_.mp4
20導(dǎo)航的參數(shù)傳遞和接受-1.mp4
在玩安卓上有款組件化開源app的項(xiàng)目,一款模仿 Eyepetizer | 開眼視頻的 開源app,這款app設(shè)計(jì)風(fēng)格特別喜歡的,比較簡潔,美觀,然后最近又在學(xué)flutter的知識,于是就寫了一款flutter版本的開源短視頻,效果也是聽不錯的,廢話不多說,先上效果圖。
先附上項(xiàng)目地址:
項(xiàng)目api會在后面的參考鏈接里,或者直接項(xiàng)目內(nèi)查看。
項(xiàng)目地址:
更新:6/30 項(xiàng)目新增下拉刷新,上拉加載功能
kotlin版本開眼短視頻開發(fā)中,敬請期待...
總結(jié):在此感謝參考的伙伴的文章,寫的也很好,然后我將這個(gè)項(xiàng)目改寫成了flutter,當(dāng)中也學(xué)習(xí)到了很多flutter相關(guān)的知識,后續(xù)還有繼續(xù)鞏固,不斷學(xué)習(xí)。
參考鏈接(包含本項(xiàng)目的api)
目前Flutter平臺主流的兩個(gè)播放器是video_player和fijkplayer
pub
github
1、Flutter平臺官方插件,作者是國外的,有問題溝通比較困難,只能通過提交issue
2、硬解碼
4、UI封裝: better_player
基于video_player和Chewie的高級視頻播放器。它解決了許多典型的用例,并且易于運(yùn)行。
5、播放器寬高比例與視頻內(nèi)容寬高比例不一致時(shí),會出現(xiàn)圖像壓縮變形的問題
6、調(diào)用原生內(nèi)核播放器:iOS--AVPlayer, Android--ExoPlayer
7、對于分段源 m3u8 的播放不友好,如果一個(gè)切片播放超時(shí),會導(dǎo)致整個(gè)播放都失敗
8、better_player可以緩存視頻,但不能自定義緩存的地址,只能指定key,和緩存的最大內(nèi)存量(還未研究超出最大的話是不能緩存新的,還是刪除最舊的)
9、better_player不能完全自定義UI,只能修改類中的一些開放屬性,比如說icon圖標(biāo),文字顏色啥的
10、無網(wǎng)絡(luò)有緩存時(shí),封面可以正常展示
11、better_player播放失敗有手動retry的設(shè)計(jì)
pub
github
1、fijkplayer 是一個(gè) Flutter 生態(tài)的媒體播放器,是對 ijkplayer 的 Flutter 封裝,支持 Android 和 iOS。 fijkplayer 使用 ijkplayer 作為播放器內(nèi)核,ijkplayer 使用 ffmpeg 進(jìn)行音視頻解封裝和解碼,同時(shí)添加了 Android 和 iOS 平臺特有的硬件加速解碼能力。
2 、國內(nèi)有QQ群,但是活躍度也是不高。
3、可以緩存視頻,可以自定義緩存的地址,方便后續(xù)的內(nèi)存維護(hù)。
4、可以通過FijkPanelWidgetBuilder較大程度上自定義UI。
5、無網(wǎng)絡(luò)有緩存視頻時(shí),無法展示封面,因?yàn)閮?nèi)部是通過imageProvider去加載網(wǎng)絡(luò)圖片的。
7、播放失敗無手動retry的設(shè)計(jì)
1、兩種播放器都是通過外接紋理方案 (Texture),將播放器視頻畫面渲染接入 flutter 中,性能上優(yōu)于 PlatformView 的接入方法。
如何自己實(shí)現(xiàn)?
下面以video_palyer的iOS源碼部分解釋:
iOS用CVPixelBufferRef將渲染出來的數(shù)據(jù)存在內(nèi)存中,F(xiàn)lutter engine會將Texture的數(shù)據(jù)在內(nèi)存中直接進(jìn)行映射無需通過Channel傳輸,然后Texture Widget就可以把你提供的這些數(shù)據(jù)顯示出來。在我們傳輸數(shù)據(jù)的時(shí)候會需要將其與 TextureID 綁定,綁定的過程通過BasicMessageChannel實(shí)現(xiàn)數(shù)據(jù)流的傳輸,以做到實(shí)時(shí)展示的效果
當(dāng)前題目:包含flutter掃描視頻的詞條
文章起源:http://jinyejixie.com/article2/dssdoic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、商城網(wǎng)站、建站公司、微信小程序、虛擬主機(jī)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)