《精通Android 5多媒体开发》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:王石磊编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115387585
  • 页数:574 页
图书介绍:通过对Android多媒体实战开发技术,如图像、音频、视频、2D和3D的详细讲解,让读者学会如何在应用开发中应用多媒体技术为自己的APP增加炫酷的效果,特别是Android 5.0新出现的API这些特性是目前市面上的一些书籍所没有的。

第一篇 基础技术篇 2

第1章 Android技术概述 2

1.1智能手机系统介绍 2

1.1.1何谓智能手机 2

1.1.2看当前主流的智能手机系统 2

1.1.3 Android 5.0的突出变化 3

1.2搭建Android应用开发环境 4

1.2.1安装Android SDK的系统要求 4

1.2.2安装JDK 5

1.2.3获取并安装Eclipse和Android SDK 8

1.2.4安装ADT 10

1.2.5设定Android SDK Home 12

1.2.6验证开发环境 13

1.2.7创建Android虚拟设备(AVD) 13

1.2.8启动AVD模拟器 16

1.2.9解决搭建环境过程中的常见问题 18

第2章 Android技术核心框架分析 21

2.1简析Android安装文件 21

2.1.1 Android SDK目录结构 21

2.1.2 android.jar及内部结构 22

2.1.3阅读SDK帮助文档 22

2.1.4常用的SDK工具 23

2.2演示官方实例 24

2.3剖析Android系统架构 28

2.3.1 Android体系结构介绍 28

2.3.2 Android应用工程文件组成 30

2.4简述五大组件 32

2.4.1用Activity来表现界面 32

2.4.2用Intent和IntentFilter实现切换 33

2.4.3 Service为你服务 33

2.4.4用BroadcastIntentReceiver发送广播 34

2.4.5用ContentProvider存储数据 34

2.5进程和线程 34

2.5.1先看进程 34

2.5.2再看线程 35

2.5.3应用程序的生命周期 35

2.6第一段Android程序 37

第3章 获取并分析Android源码 42

3.1获取Android源码 42

3.1.1在Linux系统中获取Android源码 42

3.1.2在Windows系统中获取Android源码 43

3.2分析Android源码结构 45

3.3编译Android源码 46

3.3.1搭建编译环境 47

3.3.2开始编译 48

3.3.3在模拟器中运行 49

3.3.4常见的错误分析 49

3.3.5实践演练——演示两种编译Android程序的方法 50

第二篇 系统分析篇 56

第4章 Android多媒体框架 56

4.1 Android多媒体系统介绍 56

4.2 OpenMax框架详解 57

4.2.1分析OpenMax框架构成 58

4.2.2实现OpenMax IL层接口 62

4.3分析OpenCore框架 68

4.3.1 OpenCore层次结构 69

4.3.2 OpenCore代码结构 70

4.3.3 OpenCore编译结构 71

4.3.4操作系统兼容库 74

4.3.5实现OpenCore中的OpenMax部分 75

4.3.6 OpenCore扩展详解 85

4.4 Stagefright框架详解 91

4.4.1 Stagefright代码结构 91

4.4.2 Stagefright实现OpenMax接口 91

4.4.3分析Video Buffer传输流程 94

第5章 音频系统框架 99

5.1音频系统基础 99

5.2分析音频系统的层次 100

5.2.1层次说明 100

5.2.2 Media库中的Audio框架 101

5.2.3本地代码 103

5.2.4分析JNI代码 105

5.2.5 Java层代码简介 106

5.3 Audio系统的硬件抽象层 106

5.3.1 Audio硬件抽象层基础 107

5.3.2分析AudioFlinger中的Audio硬件抽象层的实现 108

5.3.3真正实现Audio硬件抽象层 113

5.4分析编码/解码过程 113

5.4.1 AMR编码 114

5.4.2 AMR解码 117

5.4.3解码MP3 120

第6章 视频系统框架 122

6.1视频系统结构 122

6.2分析硬件抽象层 123

6.2.1 Overlay系统硬件抽象层的接口 123

6.2.2实现Overlay系统的硬件抽象层 125

6.2.3实现接口 126

6.3实现Overlay硬件抽象层 127

第7章 照相机系统 129

7.1 Camera系统的结构 129

7.2 Camera驱动层实现详解 131

7.2.1 V4L2驱动程序 131

7.2.2硬件抽象层 137

7.3实现Camera系统的硬件抽象层 141

7.3.1 Java程序部分 141

7.3.2 Camera的Java本地调用部分 142

7.3.3 Camera的本地库libui.so 142

7.3.4 Camera服务libcameraservice.so 143

第8章 Alarm时钟系统 147

8.1 Alarm系统基础 147

8.2分析RTC驱动程序 148

8.3 Alarm驱动程序详解 149

8.3.1分析文件android_alarm.h 149

8.3.2分析文件alarm.c 151

8.3.3分析文件alarm-dev.c 160

8.4 JNI层详解 167

8.5 Java层详解 168

8.5.1分析AlarmManagerService类 168

8.5.2分析AlarmManager类 176

第9章 振动器系统 178

9.1振动器系统结构 178

9.2硬件抽象层实现详解 179

9.3分析Java层部分 181

9.4实现硬件抽象层 184

第三篇 典型应用篇 186

第10章 二维图像渲染 186

10.1 SurfaceFlinger渲染管理器 186

10.1.1 SurfaceFlinger基础 186

10.1.2 Surface和Canvas 188

10.2 Surface渲染详解 189

10.2.1渲染类Surface详解 189

10.2.2分析Layer和LayerBuffer 191

10.3 Skia渲染引擎详解 196

10.3.1 Skia基础 196

10.3.2 Android中的Skia 197

10.3.3使用Skia绘图 205

10.3.4 Skia的其他功能 206

第11章 绘制二维图像 208

11.1绘图界面布局详解 208

11.1.1 View视图组件 208

11.1.2 ViewGroup容器 208

11.1.3 Layout规划布局 209

11.2 Android绘图基础 212

11.2.1使用Canvas画布 212

11.2.2使用Paint类 214

11.2.3位图操作类Bitmap 217

11.3使用其他的绘图类 222

11.3.1使用设置文本颜色类Color 223

11.3.2使用矩形类Rect和RectF 224

11.3.3非矢量图形拉伸类NinePatch 228

11.3.4使用变换处理类Matrix 228

11.3.5使用BitmapFactory类 231

11.3.6使用Region类 233

11.3.7使用类Typeface 234

第12章 二维动画应用 235

12.1使用Drawable实现动画效果 235

12.1.1 Drawable基础 235

12.1.2使用Drawable实现动画效果 236

12.2 Tween Animation动画详解 237

12.2.1 Tween动画基础 237

12.2.2 Tween动画类详解 240

12.2.3 Tween应用实战 243

12.3实现Frame Animation动画效果 246

12.3.1 Frame动画基础 246

12.3.2使用Frame动画 246

12.4 Property Animation动画 248

12.4.1 Property Animation(属性)动画基础 248

12.4.2使用Property Animation 250

12.5实现动画效果的其他方法 253

12.5.1播放GIF动画 254

12.5.2实现EditText动画特效 256

第13章 渲染二维图像 257

13.1使用渲染类Shader 257

13.2使用SurfaceFlinger渲染器 261

13.2.1 SurfaceFlinger基础 261

13.2.2渲染Android手机屏幕中的图形 263

13.3使用Skia渲染引擎 265

13.3.1 Skia基础 265

13.3.2使用Skia绘图 268

13.4通过Skia绘制文字 275

第14章 开发音频应用程序 277

14.1音频应用接口类介绍 277

14.2 AudioManager类 278

14.2.1 AudioManager基础 278

14.2.2 AudioManager基本应用——设置短信提示铃声 280

14.2.3 AudioManager基本应用——调节手机音量的大小 284

14.3录音处理 287

14.3.1使用MediaRecorder接口录制音频 287

14.3.2使用AudioRecord接口录制音频 292

14.4播放音频 297

14.4.1使用AudioTrack播放音频 297

14.4.2使用MediaPlayer播放音频 300

14.4.3使用SoundPool播放音频 311

14.4.4使用Ringtone播放铃声 316

14.4.5使用JetPlayer播放音频 318

14.4.6使用AudioEffect处理音效 319

14.5语音识别技术 321

14.5.1 Text-To-Speech技术 322

14.5.2谷歌的Voice Recognition技术 324

14.6实现振动效果 326

14.6.1 Vibrator类基础 326

14.6.2使用Vibrator实现振动效果 327

14.7设置闹钟 332

14.7.1 AlarmManage基础 332

14.7.2开发一个闹钟程序 333

第15章 开发视频应用程序 338

15.1使用MediaPlayer播放视频 338

15.2使用VideoView播放视频 344

15.2.1 VideoView基础 344

15.2.2使用VideoView播放手机中的影片 346

15.2.3使用VideoView播放手机中的MP4 348

15.2.4开发一个网络视频播放器 350

15.3使用Camera拍照 356

15.3.1 Camera基础 356

15.3.2总结Camera拍照的流程 360

15.3.3使用Camera预览并拍照 362

15.3.4使用Camera API方式拍照 366

第四篇 三维技术篇 372

第16章 OpenGL ES系统初步 372

16.1 OpenGL ES介绍 372

16.1.1 OpenGL ES 3.0介绍 372

16.1.2 Android全面支持OpenGL ES 3.0 373

16.2 OpenGL ES 3.0系统初步分析 373

16.3分析下层的包裹库 374

16.3.1 libGLESvl_CM.so包裹库详解 374

16.3.2 libGLESv2包裹库详解 379

16.3.3 libEGL包裹库详解 381

16.4加载并解析OpenGL库 383

16.4.1开始加载并解析 383

16.4.2库加载器Loader详解 384

16.5 EGL实现详解 388

16.5.1分析EGL的数据结构 388

16.5.2分析EGL的API 392

第17章 OpenGL ES基本应用 401

17.1 OpenGL ES的基本应用 401

17.1.1使用点线法绘制三角形 401

17.1.2使用索引法绘制三角形 405

17.1.3使用顶点法绘制三角形 409

17.2实现投影效果 411

17.2.1正交投影 411

17.2.2透视投影 411

17.2.3正交投影和透视投影的区别 412

17.2.4实现投影效果 412

17.3实现光照效果 415

17.3.1光源的类型 416

17.3.2光源的颜色 416

17.3.3开启/关闭光照 417

第18章 纹理映射 422

18.1纹理映射基础 422

18.1.1纹理贴图和纹理拉伸 422

18.1.2 Texture Filter纹理过滤 423

18.2实现三角形纹理贴图效果 424

18.3实现地月模型效果 427

18.4实现纹理拉伸效果 434

第19章 绘制不同的三维形状 438

19.1绘制一个圆柱体 438

19.2绘制一个圆环 444

19.3绘制一个抛物面效果 448

19.4绘制一个螺旋面效果 450

第20章 坐标变换和混合 454

20.1实现坐标变换 454

20.1.1坐标变换基础 454

20.1.2实现缩放变换 454

20.1.3实现平移变换 458

20.2使用Alpha混合技术 460

20.2.1基本知识 460

20.2.2实现简单混合 461

20.2.3实现光晕和云层效果 465

20.2.4实现滤光器效果 469

第21章 OpenGL ES进阶 474

21.1实现摄像机和雾特效功能 474

21.1.1摄像机基础 474

21.1.2雾特效基础 475

21.1.3实现雾特效和摄像机效果 475

21.2粒子系统 484

21.2.1粒子系统基础 484

21.2.2实现粒子系统效果 484

21.3镜像技术 487

21.4实现旗帜飘扬效果 491

第五篇 综合实战篇 494

第22章 开发一个屏保系统 494

22.1屏幕保护程序介绍 494

22.1.1屏幕保护程序的作用 494

22.1.2手机中的屏幕保护程序 494

22.2开发屏保程序的原理 495

22.3开发一个屏保程序 496

22.3.1准备素材图片 496

22.3.2编写布局文件 496

22.3.3编写主程序文件 497

第23章 开发一个音乐播放器 507

23.1项目介绍 507

23.1.1项目背景介绍 507

23.1.2项目的目的 508

23.2系统需求分析 508

23.2.1构成模块 508

23.2.2系统流程 512

23.2.3功能结构图 513

23.2.4系统功能说明 514

23.2.5系统需求 514

23.3数据库设计 515

23.3.1字段设计 515

23.3.2 E-R图设计 515

23.3.3数据库连接 515

23.3.4创建数据库 516

23.3.5操作数据库 517

23.3.6数据显示 518

23.4具体编码 518

23.4.1设置服务信息 518

23.4.2播放器主界面 519

23.4.3播放列表功能 529

23.4.4菜单功能模块 531

23.4.5播放设置界面 533

23.4.6设置显示歌词 535

23.4.7文件浏览器模块 536

23.4.8数据存储 539

第24章 开发一个闹钟系统 541

24.1项目介绍 541

24.1.1系统需求分析 541

24.1.2构成模块 541

24.2系统主界面 542

24.2.1布局文件 542

24.2.2程序文件 543

24.3闹钟列表模块 552

24.3.1设置主界面 552

24.3.2设置闹钟界面 557

24.3.3闹钟提醒模块 564

24.3.4重复设置 569

24.3.5闹钟数据操作 570

24.4选择铃声音乐 573