又挖一個坑,好久沒寫了,看得代碼多而繁亂,又沒有專精一塊,到頭來還是困惑叢生,不管了,做個筆記,寫寫自己對android hal層的一點理解。 涉及的代碼來自android-4.0版本。 1.概念和原因 android hal的概念和存在的原因,不必多說,其實就兩點。1.隔離具體驅動接口 ...
在討論stagefright如何調用硬件解碼之前,我們要先清楚幾個問題。 我不展開這幾個結論是如何得來的,因為這部分屬於進程間通信binder的理解,和多媒體本身無關。 一 問題空間 這個有點像方法學上的東西了,呵呵。其實我們討論一個問題,首先要觀注的就是,什么是我們應該關心的,什么是我們在這個問題空間里不用解決的。 上次我們說到,awesomeplayer所有codec,包括軟解與硬解的,都是由 ...
2013-08-30 16:15 1 3320 推薦指數:
又挖一個坑,好久沒寫了,看得代碼多而繁亂,又沒有專精一塊,到頭來還是困惑叢生,不管了,做個筆記,寫寫自己對android hal層的一點理解。 涉及的代碼來自android-4.0版本。 1.概念和原因 android hal的概念和存在的原因,不必多說,其實就兩點。1.隔離具體驅動接口 ...
最近做了一個android項目用到編解碼功能。大概需求是:通過攝像頭拍攝一段視頻,然后抽幀,生成一個短視頻,以及倒序視頻,剛開始直接用 H.264 編碼格式,沒有使用MP4容器封裝。做了這些功能后,反而覺得使用MP4格式更加兼容各機型,減少BUG出現。舉個明顯例子 ...
MediaPlayer簡介 android多媒體類,播放流程如下方法: setDataSource() 設置一個數據源, prepare() 播放之前需要調用此方法,在准備狀態 setDisplay() 需要SurfaceHolder對象,畫面顯示在SurfaceView上 start ...
1.前言 對於數據庫引擎來說,內存是一個性能提升的重要解決手段。把數據緩存起來,可以避免在查詢或更新數據時花費多余的時間,而這時間通常是從磁盤獲取數據時用來等待磁盤尋址的。把執行計划緩存起來,可以避 ...
最早直接調用Mediaplayer類中的setVolume(float leftVolume, float rightVolume)這個API,調試后發現沒有任何效果,最后在網上查到要設置音量的大小,要使用Audiomanager這個類,在這個類中有setStreamVolume(int ...
本文主要介紹的是Android中很重要也最為復雜的媒體播放器(MediaPlayer)部分的架構。對於Android這樣一個完整又相對復雜的系統,一個MediaPlayer功能的實現不在其具體的功能,而是具體功能如何適應Android系統Android MediaPlayer的主要具體實現 ...
文件說明: 1. image.py——圖像處理函數,主要是特征提取; 2. model_training.py——訓練CNN單字識別模型(需要較高性能的服務器,最好有GPU加速,否則真是慢得要死) ...