出版時間:2012-8 出版社:電子工業(yè)出版社 作者:熊斌
Tag標簽:無
內(nèi)容概要
內(nèi) 容 簡 介
在本書的內(nèi)容中,詳細講解了Android多媒體開發(fā)技術(shù)的基本知識。本書內(nèi)容新穎、知識全面、講解詳細,全書分為17個章節(jié),第1章講解了Android系統(tǒng)的基本知識;第2章講解了Android開發(fā)之前所要做的工作;第3章講解了深入底層的基本知識;第4章講解了多媒體框架的基本知識;第5章講解了音頻系統(tǒng)框架的基本知識;第6章講解了視頻系統(tǒng)框架的基本知識;第7章講解了Camera照相機系統(tǒng)的基本知識;第8章講解了振動器系統(tǒng)和警報系統(tǒng)的基本知識;第9章講解了平面世界的基本知識;第10章講解了二維動畫應用的基本知識;第11章講解了渲染二維圖像的基本知識;第12章講解了OpenGL
ES的基本知識;第13章講解了OpenGL
ES進階方面的基本知識;第14章講解了音頻開發(fā)的基本知識;第15章講解了視頻開發(fā)應用的基本知識;第16章講解了開發(fā)一個屏保系統(tǒng)的具體過程;第17章講解了開發(fā)一個音樂播放器的基本過程。本書定位于Android程序開發(fā)的不同用戶,即可以作初學者的參考資料,也可以作為向此領(lǐng)域發(fā)展的程序員的參考書。
書籍目錄
第1章 歡迎進入Android世界1
1.1 最近幾年的幾件大事1
1.2 來到智能手機世界2
1.2.1 何謂智能手機2
1.2.2 百家爭鳴2
1.3 搭建Android應用開發(fā)環(huán)境3
1.3.1 安裝Android SDK的系統(tǒng)要求3
1.3.2 安裝JDK、Eclipse、Android
SDK4
1.3.3 設置Android SDK Home13
1.3.4 驗證理論14
1.3.5 創(chuàng)建Android虛擬設備15
第2章 準備工作18
2.1 簡析Android安裝文件18
2.1.1 Android SDK目錄結(jié)構(gòu)18
2.1.2 android.jar及內(nèi)部結(jié)構(gòu)19
2.1.3 閱讀SDK文檔需要技巧20
2.1.4 不簡單的SDK工具22
2.2 系統(tǒng)實例23
2.3 Android系統(tǒng)架構(gòu)剖析26
2.3.1 Android體系結(jié)構(gòu)介紹26
2.3.2 Android應用工程文件組成29
2.3.3 應用程序的生命周期31
第3章 深入底層34
3.1 為什么要深入底層34
3.2 搭建Linux開發(fā)環(huán)境34
3.2.1 在Linux下安裝Android34
3.2.2 設置環(huán)境變量35
3.2.3 安裝編譯工具36
3.3 獲取Android源碼36
3.4 分析并編譯Android源碼38
3.4.1 Android源碼的結(jié)構(gòu)38
3.4.2 編譯Android源碼44
3.4.3 運行Android源碼45
3.4.4 選擇編譯方法46
3.5 運行模擬器不是昨日重現(xiàn)50
3.5.1 在Linux環(huán)境下運行模擬器的
方法50
3.5.2 模擬器輔助工具——adb51
3.6 Android的啟動過程52
3.6.1 Init初始化進程52
3.6.2 ServiceManager進程54
3.6.3 Zygote進程54
3.6.4 SystemService進程57
3.7 進程之間需要溝通59
3.8 多核通信60
3.8.1 內(nèi)存共享61
3.8.2 過程調(diào)用69
第4章 多媒體框架73
4.1 框架學習路線圖73
4.2 Android多媒體系統(tǒng)介紹73
4.3 OpenMax框架75
4.3.1 分析OpenMax框架構(gòu)成76
4.3.2 實現(xiàn)OpenMax IL接口80
4.4 OpenCore框架88
4.4.1 OpenCore層次結(jié)構(gòu)88
4.4.2 OpenCore代碼結(jié)構(gòu)89
4.4.3 OpenCore編譯結(jié)構(gòu)90
4.4.4 OpenCore OSCL94
4.4.5 實現(xiàn)OpenCore中的OpenMax
部分95
4.4.6 OpenCore擴展107
4.5 StageFright框架是后來者113
4.5.1 StageFright代碼結(jié)構(gòu)113
4.5.2 StageFright實現(xiàn)OpenMax
接口114
4.5.3 Video Buffer傳輸流程117
第5章 音頻系統(tǒng)框架122
5.1 音頻系統(tǒng)結(jié)構(gòu)122
5.2 分析音頻系統(tǒng)的層次123
5.2.1 層次說明124
5.2.2 Media庫中的Audio框架124
5.2.3 本地代碼127
5.2.4 JNI代碼130
5.2.5 Java代碼131
5.3 硬件抽象層131
5.4 分析編碼/解碼過程133
5.4.1 AMR編碼133
5.4.2 AMR解碼137
5.4.3 解碼MP3141
第6章 視頻系統(tǒng)框架143
6.1 視頻系統(tǒng)結(jié)構(gòu)143
6.2 分析Overlay抽象層145
6.2.1 Overlay系統(tǒng)硬件抽象層的
接口145
6.2.2 實現(xiàn)Overlay系統(tǒng)抽象層147
6.2.3 實現(xiàn)接口148
6.3 實現(xiàn)Overlay框架149
第7章 Camera(照相機)系統(tǒng)152
7.1 Camera系統(tǒng)結(jié)構(gòu)152
7.2 分析Camera接口和驅(qū)動155
7.2.1 Camera驅(qū)動接口155
7.2.2 硬件抽象層162
7.3 實現(xiàn)Camera硬件抽象層166
7.3.1 Java程序部分166
7.3.2 Camera的Java本地調(diào)用
部分167
7.3.3 Camera的本地庫libui.so168
7.3.4 Camera服務
libcameraservice.so169
第8章 振動器系統(tǒng)和警報器系統(tǒng)174
8.1 振動器系統(tǒng)174
8.1.1 硬件抽象層175
8.1.2 JNI框架部分177
8.1.3 實現(xiàn)硬件抽象層178
8.2 Alarm警報器系統(tǒng)179
8.2.1 Alarm系統(tǒng)結(jié)構(gòu)179
8.2.2 模擬器環(huán)境的具體實現(xiàn)182
第9章 平面世界183
9.1 強大的Graphics類183
9.2 用Color類設置文本顏色183
9.3 用Paint類繪制圖像185
9.4 Canvas類188
9.5 Rect類191
9.6 NinePatch類195
9.7 Matrix類195
9.8 Bitmap類199
9.8.1 Bitmap類的功能200
9.8.2 Bitmap類應用實例201
9.9 BitmapFactory類207
9.10 Typeface類210
9.11 Shader類210
第10章 二維動畫應用214
10.1 Drawable類214
10.1.1 認識Drawable類214
10.1.2 Drawable實現(xiàn)動畫效果215
10.2 實現(xiàn)Tween Animation效果216
10.2.1 Tween動畫基礎(chǔ)216
10.2.2 定義動畫效果221
10.2.3 用實例來體驗Tween動畫
應用(一)222
10.2.4 用實例來體驗Tween動畫
應用(二)224
10.3 實現(xiàn)Frame Animation效果225
10.3.1 Frame動畫基礎(chǔ)225
10.3.2 Frame動畫應用實例226
10.4 播放GIF動畫228
10.5 實現(xiàn)EditText動畫特效230
10.6 Property Animation231
第11章 渲染二維圖像233
11.1 SurfaceFlinger渲染233
11.1.1 SurfaceFinger基礎(chǔ)233
11.1.2 Surface和Canvas234
11.1.3 Surface渲染235
11.2 Skia渲染238
11.2.1 Skia基礎(chǔ)238
11.2.2 Skia介紹239
11.2.3 Skia中的類241
11.2.4 Skia的最大用處是繪圖247
11.2.5 Skia的其他功能251
第12章 OpenGL ES來了253
12.1 認識OpenGL ES253
12.1.1 使用點線法繪制三角形254
12.1.2 使用索引法繪制三角形259
12.1.3 使用頂點法繪制三角形264
12.2 時光的影子266
12.2.1 正交投影266
12.2.2 透視投影267
12.2.3 實現(xiàn)投影效果267
12.3 體驗陽光的魅力271
12.3.1 何謂光照271
12.3.2 實現(xiàn)定位光效果273
12.3.3 開啟/關(guān)閉光照279
12.4 高深莫測的紋理映射284
12.4.1 實現(xiàn)地月模型效果284
12.4.2 實現(xiàn)三角形紋理貼圖效果292
12.4.3 實現(xiàn)紋理拉伸效果296
第13章 OpenGL ES進階301
13.1 繪制三維圖形301
13.1.1 繪制圓柱體301
13.1.2 繪制圓環(huán)309
13.1.3 繪制拋物面313
13.1.4 繪制螺旋面效果316
13.2 坐標變換320
13.2.1 縮放變換處理320
13.2.2 平移變換處理325
13.3 混合與透明327
13.3.1 相關(guān)基本知識328
13.3.2 實現(xiàn)混合效果329
13.4 攝像機和霧特效333
13.4.1 攝像機333
13.4.2 霧特效334
13.4.3 親眼看一看霧特效和攝像機
效果334
第14章 音頻開發(fā)應用345
14.1 實現(xiàn)音頻功能的接口類345
14.2 AudioManager控制鈴聲346
14.2.1 AudioManager中介346
14.2.2 親手試一試——設置短信提示
鈴聲349
14.2.3 調(diào)節(jié)手機音量的大小352
14.3 錄音處理356
14.3.1 使用MediaRecorder接口錄制
音頻356
14.3.2 使用AudioRecord錄制
音頻359
14.3.3 使用AudioRecord接口
錄音364
14.3.4 繼續(xù)使用AudioRecord錄制
音頻364
14.4 插放音頻367
14.4.1 使用AudioTrack播放音頻367
14.4.2 使用MediaPlayer播放音頻370
14.4.3 不能沒有SoundPool384
14.4.4 使用Ringtone播放鈴聲386
14.4.5 使用JetPla
章節(jié)摘錄
版權(quán)頁: 插圖: (1)定向光 我們?nèi)粘K姷墓庠从泻芏啵热缣?、燈泡、燃燒著的蠟燭等。像太陽這種從無窮遠處發(fā)射的幾乎平行的光被稱為定向光。定向光對應的是光源在無窮遠處的光,定向光在空間中的所有位置方向都是相同的。 在OpenGL ES中通過方法glLightfv(int light,int pname,float[]params,int offset)來設定定向光,此方法中各個參數(shù)的具體說明如下所示。 light:該參數(shù)設置為OpenGL ES中的燈,用GL_LIGHT0到GL_LIGHT7分別表示8盞燈。 如果該參數(shù)設置為GL_LIGHT0,則表示方法glLightfv()中其余的設置都是針對GL_LIGHT0,即0號燈進行設置的。 pname:被設置的光源屬性是由pname定義的,它指定了一個命名參數(shù),在設置定向光時應該設置成GL_POSITION。 params:此參數(shù)是一個float數(shù)組,該數(shù)組由4部分組成,前3個值組成表示定向光方向的向量,光的方向為從向量點處向原點處照射,比如{0,1,0,0}表示沿Y軸負方向的光,最后的0表示此光源發(fā)出的光是定向光。 (2)定位光 在自然世界中定向光與定位光是截然不同的,這就像太陽與燃燒的蠟燭之間的區(qū)別。但是,在OpenGL ES中實現(xiàn)定向光與定位光的方法十分相似。 在OpenGL ES中通過方法glLightfv(int light,int pname,float[]params,int offset)來設置定位光,其參數(shù)含義和上面介紹的定向光中的9lLightfv()方法類似,僅僅是params參數(shù)略有不同,其他參數(shù)基本都相同。 在定向光中,參數(shù)params中的最后一個值被設置為0;而在定位光中,這個值被設置為1。 在定向光中,參數(shù)params中的前3個值被設置為光源的向量坐標;而在定位光中,這3個值被設置為光源的位置。 在定向光中,光的方向為給定的坐標點與原點之間的向量,所以params中的坐標不能設置為(0,0,0);而在定位光中,給出的是光源的坐標位置,所以params的前3個參數(shù)可以設置為(0,0,0)。 在定位光方法glLightfb()中,其余參數(shù)的設置方法與上面介紹的定向光方法glLightfv()相同,在此不再贅述。 2.光源顏色 顏色是光源的一種重要屬性,在OpenGL ES中允許把與顏色相關(guān)的3個不同參數(shù)GL_AMBIENT、GL_DIFFUSE和GL_SPECULAR與任何特定的光源相關(guān)聯(lián)。 (1)GL_AMBIENT環(huán)境光 Ambient的意思是環(huán)境光,表示一個特定的光源在場景中所添加的環(huán)境光的RGBA強度。在默認情況下是不存在環(huán)境光的,因為GL_AMBIENT的默認值是(0.0,0.0,0.0,1.0)。 在OpenGL ES中通過方法glLightfv(int light,int pname,float[]params,int offset)來設置光源的環(huán)境光,對各個參數(shù)的具體說明如下所示。
編輯推薦
《Android移動開發(fā)技術(shù)叢書:Android多媒體開發(fā)技術(shù)實戰(zhàn)詳解》定位于Android程序開發(fā)的不同用戶,即可以作初學者的參考資料,也可以作為向此領(lǐng)域發(fā)展的程序員的參考書。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
Android多媒體開發(fā)技術(shù)實戰(zhàn)詳解 PDF格式下載