視頻格式轉(zhuǎn)換流程 視頻格式轉(zhuǎn)換主要分為兩種類型:轉(zhuǎn)封裝和轉(zhuǎn)碼 轉(zhuǎn)封裝:多媒體文件是一個容器,轉(zhuǎn)封裝相當于容器內(nèi)的物品不變只是換了一個容器,其內(nèi)容不會發(fā)生改變 轉(zhuǎn)碼:轉(zhuǎn)碼就是將...
視頻格式轉(zhuǎn)換流程 視頻格式轉(zhuǎn)換主要分為兩種類型:轉(zhuǎn)封裝和轉(zhuǎn)碼 轉(zhuǎn)封裝:多媒體文件是一個容器,轉(zhuǎn)封裝相當于容器內(nèi)的物品不變只是換了一個容器,其內(nèi)容不會發(fā)生改變 轉(zhuǎn)碼:轉(zhuǎn)碼就是將...
組合視頻流和音頻流 通過之前視頻流與音頻流編解碼的學習,我們可以做到將視頻流與音頻流數(shù)據(jù)抽離出來,并將這些數(shù)據(jù)編碼為對應的視頻或音頻。但往往一個多媒體文件中既包含音頻也包含視...
音頻解碼與編碼流程 解碼流程 音頻編解碼流程與視頻編解碼流程一致,我們可以對 mp4 文件的音頻流進行解碼,并將解碼后的音頻數(shù)據(jù)保存到 PCM 文件中,后續(xù)我們可以通過讀取 ...
視頻編碼流程 之前了解了如何解碼多媒體文件中的視頻流,并將解碼后的圖像進行顯示,接下來我們學習如何對視頻流進行編碼,從 圖片 → h.264 和 圖片 → MP4 兩個案例中...
視頻解碼流程 在對多媒體文件中的視頻流解碼前,我們先來了解以下流媒體數(shù)據(jù)的播放流程,可以根據(jù)這個流程梳理一下視頻解碼流程 音視頻播放的原理主要分為:解協(xié)議 -> 解封裝 ->...
FFmpeg libavformat 用于各種音視頻封裝格式的生成和解析,包括獲取解碼所需信息以生成解碼上下文結(jié)構(gòu)和讀取音視頻幀等功能;音視頻的格式解析協(xié)議,為 libavc...
附帶效應 學習內(nèi)容 如何從 Compose 代碼觀察數(shù)據(jù)流以更新界面 附帶效應 API,如 LaunchedEffect、rememberUpdatedState、Dispo...
View 遷移至 Compose 主要學習內(nèi)容 如何逐步將應用遷移到 Compose 如何將 Compose 添加到使用 Android View 構(gòu)建的現(xiàn)有界面 如何在 C...
Navigation 主要學習內(nèi)容 將 Jetpack Navigation 與 Jetpack Compose 結(jié)合使用的基礎(chǔ)知識 在可組合項之間導航 使用必需和可選參數(shù)導...
手勢 Compose 提供了多種 API,可幫助您檢測用戶互動生成的手勢。API 涵蓋各種用例: 其中一些級別較高,旨在覆蓋最常用的手勢。例如,clickable 修飾符可用...
動畫 主要學習內(nèi)容 如何使用幾個基礎(chǔ)動畫 API 何時使用哪個 API 動畫原理 相比于 Compose 中的動畫,對于 View 體系中的動畫我們更了解一些,比如 View...
CompositionLocal是通過組合隱式向下傳遞數(shù)據(jù)的工具 主要學習內(nèi)容 了解什么是 CompositionLocal 創(chuàng)建自己的 CompositionLocal 何...
主題 主要學習內(nèi)容 Material Design 入門指南以及如何針對您的品牌對其進行自定義 Compose 如何實現(xiàn) Material Design 系統(tǒng) 如何在應用中定...
狀態(tài) 在Jetpack Compose中狀態(tài)可以是隨時間變化的任何值,可以是從數(shù)據(jù)庫中的值到類的變量 Android 應用中的一些狀態(tài)示例:根據(jù)網(wǎng)絡情況顯示的信息提示控件文章...
布局 主要學習內(nèi)容 如何使用 Material 組件可組合項 什么是修飾符以及如何在布局中使用它們 如何創(chuàng)建自定義布局 何時可能需要固有特性 修飾符 借助Modifier,可...
Jetpack Composed Jetpack Composed創(chuàng)建Jetpack Compose項目基礎(chǔ)知識可組合函數(shù)預覽功能背景顏色設置重復使用可組合項布局Compos...
Handler 我們都知道Handler由Message、MessageQueue、Handler和Looper組成,接下來我們帶著問題,從源碼中尋找 Handler 的具體...