Flutter上線項(xiàng)目實(shí)戰(zhàn)——Vap視頻動(dòng)畫

背景

透明視頻動(dòng)畫是目前比較流行的實(shí)現(xiàn)動(dòng)畫的一種, 大廠也相繼開源自己的框架,最終我們選中騰訊vap,它支持了Android瞬内、IOS角钩、Web,為我們封裝flutter_vap提供了天然的便利烹棉,并且它提供了將幀圖片生成帶alpha通道視頻的工具阳仔,這簡直太贊了忧陪。

VAP(Video Animation Player)是企鵝電競開發(fā),用于播放酷炫動(dòng)畫的實(shí)現(xiàn)方案近范。

  • 相比Webp, Apng動(dòng)圖方案嘶摊,具有高壓縮率(素材更小)、硬件解碼(解碼更快)的優(yōu)點(diǎn)
  • 相比Lottie评矩,能實(shí)現(xiàn)更復(fù)雜的動(dòng)畫效果(比如粒子特效)

預(yù)覽

image

video for youtube

video for qiniu

apk download

安裝

flutter_vap: ${last_version}

使用

  1. 播放本地視頻
  import 'package:flutter_vap/flutter_vap.dart';

  /// return: play error:       {"status": "failure", "errorMsg": ""}
  ///         play complete:    {"status": "complete"}
  Future<Map<dynamic, dynamic>> _playFile(String path) async {
    if (path == null) {
      return null;
    }
    var res = await VapController.playPath(path);
    if (res["status"] == "failure") {
      showToast(res["errorMsg"]);
    }
    return res;
  }
  1. 播放asset視頻
  Future<Map<dynamic, dynamic>> _playAsset(String asset) async {
    if (asset == null) {
      return null;
    }
    var res = await VapController.playAsset(asset);
    if (res["status"] == "failure") {
      showToast(res["errorMsg"]);
    }
    return res;
  }
  1. 停止播放
  VapController.stop()
  1. 隊(duì)列播放
  _queuePlay() async {
    // 模擬多個(gè)地方同時(shí)調(diào)用播放,使得隊(duì)列執(zhí)行播放叶堆。
    QueueUtil.get("vapQueue").addTask(() => VapController.playPath(downloadPathList[0]));
    QueueUtil.get("vapQueue").addTask(() => VapController.playPath(downloadPathList[1]));
  }
  1. 取消隊(duì)列播放
  QueueUtil.get("vapQueue").cancelTask();

例子

github

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市斥杜,隨后出現(xiàn)的幾起案子虱颗,更是在濱河造成了極大的恐慌,老刑警劉巖蔗喂,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忘渔,死亡現(xiàn)場離奇詭異,居然都是意外死亡缰儿,警方通過查閱死者的電腦和手機(jī)畦粮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來返弹,“玉大人锈玉,你說我怎么就攤上這事爪飘∫迤穑” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵师崎,是天一觀的道長默终。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么齐蔽? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任两疚,我火速辦了婚禮,結(jié)果婚禮上含滴,老公的妹妹穿的比我還像新娘诱渤。我一直安慰自己,他們只是感情好谈况,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布勺美。 她就那樣靜靜地躺著,像睡著了一般碑韵。 火紅的嫁衣襯著肌膚如雪赡茸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天祝闻,我揣著相機(jī)與錄音占卧,去河邊找鬼。 笑死联喘,一個(gè)胖子當(dāng)著我的面吹牛华蜒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耸袜,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼友多,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了堤框?” 一聲冷哼從身側(cè)響起域滥,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜈抓,沒想到半個(gè)月后启绰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沟使,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年委可,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腊嗡。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡着倾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燕少,到底是詐尸還是另有隱情卡者,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布客们,位于F島的核電站崇决,受9級(jí)特大地震影響材诽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恒傻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一脸侥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盈厘,春花似錦睁枕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至罐氨,卻和暖如春臀规,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背栅隐。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工塔嬉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人租悄。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓谨究,卻偏偏與公主長得像,于是被迫代替她去往敵國和親泣棋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子胶哲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容