FFmpeg開發筆記(八十八)基于Compose的國產電視直播開源框架MyTV
?MyTV是一款使用Android原(yuan)生開(kai)發的網絡(luo)直(zhi)(zhi)播(bo)軟件,它(ta)的原(yuan)理是接入網絡(luo)上(shang)的直(zhi)(zhi)播(bo)推(tui)流鏈接,通過Android提供的ExoPlayer來播(bo)放直(zhi)(zhi)播(bo)節目。有關網絡(luo)推(tui)拉流的直(zhi)(zhi)播(bo)技術可參考《FFmpeg開(kai)發實戰:從零基(ji)礎到(dao)短視頻上(shang)線(xian)》一書的“10.2 FFmpeg推(tui)流和拉流”。 MyTV的源(yuan)碼托管(guan)地址為h ...
FFmpeg開發筆記(八十七)采用Kotlin的手機開源播放器VLC-Android
?《FFmpeg開發實戰:從(cong)零基礎到短視(shi)(shi)頻(pin)上線(xian)》一(yi)書的(de)(de)“3.4.1 通(tong)用音視(shi)(shi)頻(pin)播(bo)放器(qi)”介紹了如(ru)何在(zai)桌(zhuo)面(mian)(mian)系統上安裝和使(shi)用通(tong)用音視(shi)(shi)頻(pin)播(bo)放器(qi)VLC media player,其實VLC是(shi)個(ge)跨平(ping)臺(tai)的(de)(de)播(bo)放器(qi),它也提(ti)供(gong)了面(mian)(mian)向Android平(ping)臺(tai)的(de)(de)手機(ji)版VLC。 Android版VLC的(de)(de)官(guan)網地址是(shi)//c ...
Launcher 卡片框架多模塊集成
方(fang)案(an)一、aar架(jia)包(bao)(bao)集成 最(zui)簡單直接(jie)的(de)方(fang)案(an),卡片(pian)側實現,打(da)成aar包(bao)(bao)提供到launcher顯示 方(fang)案(an)二(er)、AppWidget 原生的(de)桌面小組件(jian)方(fang)案(an),被限制無(wu)法自定(ding)義view 底層通過(guo)BroadcastReceiver實現 方(fang)案(an)三、插(cha)件(jian)方(fang)案(an) 插(cha)件(jian)方(fang)案(an)有好幾(ji)種(zhong),實現原理都(dou)是通過(guo)配(pei)置實現,其中有Service ...
Launcher 桌面源碼筆記二
車(che)模桌面(mian)加(jia)載(zai)成功后(hou),需(xu)要(yao)各種(zhong)交互 切(qie)(qie)換桌面(mian)處理 先(xian)補充如何(he)切(qie)(qie)換桌面(mian),初(chu)始(shi)(shi)化(hua)需(xu)要(yao)指定一個(ge)默認(ren)桌面(mian),初(chu)始(shi)(shi)化(hua)其實兩個(ge)桌面(mian)都會(hui)一起加(jia)載(zai),假設默認(ren)是(shi)車(che)模桌面(mian),地圖(tu)將不會(hui)初(chu)始(shi)(shi)化(hua)操作,但是(shi)地圖(tu)桌面(mian)會(hui)內(nei)嵌(qian)到Launcher中 兩個(ge)桌面(mian)是(shi)互斥的,基(ji)于這種(zhong)模式下,就需(xu)要(yao)隱藏另一個(ge)桌面(mian),因為切(qie)(qie)換動效的緣故,這里直(zhi)接(jie)使用s ...
Launcher 桌面源碼筆記一
3D車模通(tong)過TaskView顯示在Launcher,首先(xian)需(xu)要(yao)知道(dao),為什(shen)么要(yao)用TaskView,而不是(shi)(shi)Activity,然(ran)后在說加載流程 1、surface比activity等(deng)(deng)效率更(geng)高,特別是(shi)(shi)針對車模跟地圖等(deng)(deng)重(zhong)量級場景(jing) 2、切(qie)換桌面(mian)等(deng)(deng)場景(jing)時(shi),可(ke)以更(geng)精確的(de)控制暫停恢復(fu) 3、進程隔離,更(geng)精細的(de)生命周期(qi)管(guan)理 ...
氛圍燈動態屏保取色方案二
hue查(cha)(cha)找(zhao):整體(ti)偏差不(bu)會很大,但(dan)是(shi)對(dui)于亮(liang)度較高(gao)(gao)存在(zai)誤(wu)差,精準(zhun)度不(bu)夠 lab查(cha)(cha)找(zhao):整體(ti)一般(ban),但(dan)是(shi)精準(zhun)度較好(hao),不(bu)過算法復(fu)雜(za),增加耗(hao)時 hue色(se)相查(cha)(cha)找(zhao)存在(zai)誤(wu)差,在(zai)有限的(de)256色(se)中,匹(pi)配的(de)規(gui)則需(xu)要(yao)調整 這里使(shi)用lab算法提高(gao)(gao)精準(zhun)度 RGB轉Lab fun rGBToLab(r: Int, g: Int, b ...
FFmpeg開發筆記(八十三)國產的視頻裁剪框架AndroidVideoTrimmer
?《FFmpeg開發(fa)實戰(zhan):從零基(ji)礎到短視(shi)頻上線》一(yi)書(shu)的“第 12 章 FFmpeg的移(yi)動開發(fa)”介紹了如何(he)使用FFmpeg在手機上剪(jian)(jian)(jian)輯視(shi)頻,方便開發(fa)者更好地開發(fa)類似剪(jian)(jian)(jian)映那(nei)樣(yang)的視(shi)頻剪(jian)(jian)(jian)輯軟(ruan)件。那(nei)么在Android系統上還(huan)有一(yi)款(kuan)國產的開源(yuan)視(shi)頻裁剪(jian)(jian)(jian)框架(jia)Android-Video-Trimmer,通過該框架(jia)可(ke)以 ...
氛圍燈動態屏保取色方案一
氛(fen)圍燈(deng)并(bing)不支(zhi)持所(suo)有(you)的(de)顏色(se)(se),只能支(zhi)持256色(se)(se),所(suo)以在取(qu)(qu)(qu)(qu)到圖片顏色(se)(se)后(hou)需要(yao)根據結果顏色(se)(se)去跟氛(fen)圍燈(deng)所(suo)支(zhi)持的(de)256色(se)(se)對比(bi),取(qu)(qu)(qu)(qu)最接近的(de)結果色(se)(se),然(ran)后(hou)同步到氛(fen)圍燈(deng)顯(xian)示 取(qu)(qu)(qu)(qu)色(se)(se)流程 取(qu)(qu)(qu)(qu)色(se)(se)需要(yao)用(yong)到原生 Palette.from(bitmap).generate() 方法,通過量化算法分析(xi)位(wei)圖的(de)像素顏色(se)(se)分布,提取(qu)(qu)(qu)(qu)最具代表性 ...
2.Android Compose 基礎系列:在 Kotlin 中創建和使用變量
在應用開發中(zhong),有些內容(rong)是(shi)(shi)(shi)固定的(de),例(li)如(ru)“設(she)置”中(zhong)的(de)菜單項;而(er)(er)有些內容(rong)會(hui)不斷(duan)變(bian)化(hua),比(bi)如(ru)新(xin)聞(wen)應用中(zhong)的(de)標(biao)題(ti)、來源(yuan)或發布時間(jian)。為了讓(rang)這些變(bian)化(hua)自動更(geng)新(xin),而(er)(er)不是(shi)(shi)(shi)每次(ci)都(dou)修改代碼,我(wo)們(men)需(xu)要使用 變(bian)量(variable)。 學(xue)習目標(biao) 了解什(shen)么(me)是(shi)(shi)(shi)變(bian)量,并(bing)學(xue)會(hui)定義(yi)和更(geng)新(xin)變(bian)量 掌握如(ru)何為變(bian)量選擇合適的(de)數據(ju)類型 學(xue)會(hui)在代 ...
Flutter實現閑魚底部導航欄中間突出效果
實現思路(lu) 在 Scaffold 組(zu)件(jian)中(zhong)使用 bottomNavigationBar 和 floatingActionButton 屬性建立底部導航(hang)欄(lan)和浮動(dong)按鈕(niu),同(tong)時使用 floatingActionButtonLocation 屬性指定浮動(dong)按鈕(niu)的位(wei)置。 默認情況下(xia),當(dang) floatingActionB ...
HarmonyOS NEXT 5.0 的星閃(NearLink)開發應用案例
大(da)家好,我是 V 哥,今天給大(da)家分(fen)享一個(ge) HarmonyOS NEXT 星閃的開(kai)發案(an)例(li)。 以(yi)下基于 HarmonyOS NEXT 5.0 的星閃(NearLink)開(kai)發應用案(an)例(li)與(yu)完(wan)整(zheng)代碼實現(xian),結合智(zhi)能車鑰匙和工業傳(chuan)感器監控兩大(da)典型場景(jing),整(zheng)合官方文檔和開(kai)發者實踐(jian)。 一、應用場景(jing)與(yu)星閃技術優勢(shi) 1. 智(zhi) ...
Flutter UI 性能優化實踐
認真對待每時、每刻(ke)每一件(jian)事,把(ba)握(wo)當下、立即去做。 Flutter UI 性能優化(hua)實踐經驗(yan),結合從“布(bu)局(ju)優化(hua)、渲染(ran)優化(hua)、實踐建議”幾個(ge)維度和(he)具體代(dai)碼示例(li)進行一個(ge)解(jie)析。 一. 布(bu)局(ju)優化(hua) 核心目標是減少(shao)布(bu)局(ju)計(ji)(ji)算(suan)量,避(bi)免布(bu)局(ju)重排(pai)(Relayout),提升布(bu)局(ju)效率。 1. 懶加載減少(shao)布(bu)局(ju)計(ji)(ji)算(suan)? 作用(yong)階段:布(bu)局(ju) ...
Gradle讀取倉庫配置文件的優先級
Gradle 在(zai)讀取倉庫配置文件(如 settings.gradle 或 build.gradle 中(zhong)定義的(de) repositories)時(shi),遵循一(yi)定的(de)優(you)先(xian)級規則。以下是 Gradle 讀取倉庫配置文件的(de)優(you)先(xian)級順(shun)序(xu): 1. 項目級配置文件 settings.gradle: 這是 Gradle 項目的(de)入 ...
MVC / MVP / MVVM 架構解析
認真對待每(mei)時(shi)、每(mei)刻每(mei)一(yi)(yi)件事,把握當下(xia)、立即(ji)去做。 MVC 模式的(de)(de)目的(de)(de)是(shi)實現一(yi)(yi)種動態的(de)(de)程(cheng)(cheng)序(xu)設計,使(shi)(shi)后續(xu)對程(cheng)(cheng)序(xu)的(de)(de)修(xiu)改(gai)和擴展簡化,并且使(shi)(shi)程(cheng)(cheng)序(xu)某(mou)一(yi)(yi)部分(fen)的(de)(de)重復利用成為可能。除此之外,此模式通過(guo)對復雜(za)度的(de)(de)簡化,使(shi)(shi)程(cheng)(cheng)序(xu)結構更加直(zhi)觀(guan)。下(xia)面主要對 MVC 架構下(xia)的(de)(de)優化方案以及其項目結構解析。 一(yi)(yi). MVC 相應層應該 ...
HarmonyOS 5.1手勢事件詳解
大家好,我是 V 哥。手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)事件(jian)由綁(bang)定手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)方法(fa)和綁(bang)定的手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)組成,綁(bang)定的手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)可以分(fen)為(wei)單一(yi)手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)和組合手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)兩種類(lei)型,根據手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)的復(fu)雜程(cheng)度進行區分(fen)。本文跟著 V 哥一(yi)起來探討手(shou)(shou)(shou)(shou)勢(shi)(shi)(shi)(shi)(shi)事件(jian)處理。 想要(yao)考取(qu)鴻蒙認證的小伙伴,請加入V 哥班級獲取(qu)輔導: //developer.huawei.com/consu ...
鴻蒙,下一個iPhone時刻?
最近,國新辦舉行的“高質量(liang)(liang)完成‘十四五’規劃”系(xi)列(lie)主題新聞發布會上(shang)表示,國產操(cao)作系(xi)統(tong)加速崛起(qi),以鴻蒙(meng)系(xi)統(tong)為例,鴻蒙(meng)生態(tai)設(she)備總量(liang)(liang)突破11.9億臺(tai),為手機、汽車(che)、家電等(deng)1200多類產品(pin)裝上(shang)了“智能中樞” 。我想,鴻蒙(meng)或許(xu)就是那(nei)個(ge)在操(cao)作系(xi)統(tong)中的新大陸。 ...
3天賺2萬!開發者的夢想也可以擲地有聲!
2025年(nian)了,如(ru)果告訴你有(you)一個系(xi)統生態(tai),還能夠(gou)讓獨立開發者大展宏圖(tu),你相(xiang)信嗎? 有(you)的(de)(de),這(zhe)個真的(de)(de)有(you)! 一直以來(lai),瀏(liu)覽器(qi)(qi)作為人們上網沖浪的(de)(de)第一站,也是(shi)(shi)大家(jia)每天(tian)都在(zai)用的(de)(de)產(chan)品,但是(shi)(shi)在(zai)互聯網業(ye)界看來(lai)這(zhe)是(shi)(shi)很難盈利的(de)(de)產(chan)品。 Arc 瀏(liu)覽器(qi)(qi)官(guan)網截圖(tu) 比如(ru)美(mei)國知(zhi)名的(de)(de)Arc瀏(liu)覽器(qi)(qi)雖然拿了1.28億美(mei)元(yuan)融資,但是(shi)(shi)這(zhe)么多年(nian) ...
PHP實現國際短信驗證碼發送接口的完整指南
本文將詳細(xi)介紹(shao)如何使用 PHP 語言快速(su)接入國際(ji)短信(xin) API 接口(kou),實現國際(ji)驗(yan)證碼(ma)短信(xin)的發(fa)送功能,拿來就能用,10 分(fen)鐘就能完成接入 ...
JH-ViewInspector - Android 控件ID/控件詳情獲取工具
JH-ViewInspector - Android 控件(jian)ID/控件(jian)詳情獲(huo)(huo)(huo)取工(gong)具 這是(shi)一個輕量級的 Android 應用,通過(guo)懸浮窗實時獲(huo)(huo)(huo)取和分析任意應用的控件(jian)信(xin)息和ID。 功能特點 實時控件(jian)捕(bu)獲(huo)(huo)(huo):通過(guo)無障礙服務獲(huo)(huo)(huo)取當(dang)前(qian)頁(ye)面所(suo)有控件(jian)信(xin)息 層級結構展示:樹形結構清晰顯示控件(jian)嵌套關(guan)系 智能篩選:支持文(wen)本 ...
【分享+1】HarmonyOS官方模板優秀案例(第6期:商務辦公 · 筆記應用)
鴻蒙生(sheng)態(tai)為開(kai)(kai)發(fa)(fa)者(zhe)提(ti)供(gong)海量的HarmonyOS模(mo)(mo)板(ban)(ban)/組件(jian),助(zhu)力開(kai)(kai)發(fa)(fa)效(xiao)率(lv)原地起飛。一鍵直達生(sheng)態(tai)市場(chang)組件(jian)&模(mo)(mo)板(ban)(ban)市場(chang) , 快速(su)應(ying)用DevEco Studio插件(jian)市場(chang)集(ji)成組件(jian)&模(mo)(mo)板(ban)(ban)。工作生(sheng)活小幫(bang)手,筆記(ji)(ji)應(ying)用可以集(ji)中管(guan)理零散信息、提(ti)高信息獲(huo)取和協作效(xiao)率(lv)。本期案例(li)介紹如(ru)何快速(su)基于模(mo)(mo)板(ban)(ban)開(kai)(kai)發(fa)(fa)一款筆記(ji)(ji)應(ying)用。 ...
