Android多媒体应用开发实战详解:图像、音频、视频、2D和3D

978-7-115-28410-5
作者: 王石磊 吴峥
译者:
编辑: 张涛

图书目录:

目 录

第 1章 初识庐山真面目——Android概述 1

1.1 智能手机世界 1

1.1.1 何谓智能手机 1

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

1.2 Android的巨大优势 3

1.2.1 系出名门 3

1.2.2 强大的开发团队 3

1.2.3 诱人的奖励机制 4

1.3 搭建Android应用开发环境 4

1.3.1 安装Android SDK的系统要求 5

1.3.2 安装JDK、Eclipse、Android SDK 5

1.3.3 设定Android SDK Home 16

1.3.4 验证开发环境 17

1.3.5 创建Android虚拟设备(AVD) 18

1.3.6 常见的几个问题 20

1.4 Android模拟器 25

1.4.1 Android模拟器简介 25

1.4.2 模拟器和真机的区别 25

1.4.3 模拟器简单总结 25

第 2章 千里之行始于足下——多媒体开发前的准备工作 29

2.1 简析Android安装文件 29

2.1.1 Android SDK目录结构 29

2.1.2 android.jar及内部结构 30

2.1.3 SDK文档及阅读技巧 31

2.1.4 Android SDK工具集 33

2.2 解析Android SDK实例 34

2.3 Android系统架构 38

2.3.1 Android体系结构介绍 38

2.3.2 Android应用工程文件组成 41

2.3.3 应用程序的生命周期 44

第3章 底层分析基础 47

3.1 搭建Linux开发环境 47

3.1.1 安装 47

3.1.2 设置环境变量 48

3.1.3 安装编译工具 48

3.2 获取Android源代码 49

3.3 分析并编译Android源代码 51

3.3.1 Android源代码的结构 51

3.3.2 编译Android源代码 56

3.3.3 运行Android源代码 58

3.3.4 两种编译Android程序的方法 59

3.4 运行模拟器 63

3.4.1 Linux环境下运行模拟器的方法 63

3.4.2 模拟器辅助工具——adb 64

3.5 Android的启动过程 67

3.5.1 Init初始化进程 67

3.5.2 ServiceManager进程 68

3.5.3 Zygote进程 69

3.5.4 SystemService进程 72

3.6 进程间的通信 74

3.7 多核通信 75

3.7.1 内存共享 75

3.7.2 过程调用 84

第4章 多媒体框架 89

4.1 Android多媒体系统介绍 89

4.2 OpenMax框架 90

4.2.1 分析OpenMax框架构成 91

4.2.2 实现OpenMax IL层接口 96

4.3 OpenCore框架 104

4.3.1 OpenCore层次结构 104

4.3.2 OpenCore代码结构 106

4.3.3 OpenCore编译结构 107

4.3.4 OpenCore OSCL 111

4.3.5 实现OpenCore中的OpenMax部分 112

4.3.6 OpenCore扩展 126

4.4 Stagefright框架 132

4.4.1 Stagefright代码结构 132

4.4.2 通过Stagefright实现OpenMax接口 133

4.4.3 Video Buffer传输流程 137

第5章 音频系统框架 142

5.1 音频系统结构 142

5.2 分析音频系统的层次 143

5.2.1 层次说明 143

5.2.2 Media库中的Audio框架 144

5.2.3 本地代码 147

5.2.4 JNI代码 150

5.2.5 Java代码 151

5.3 分析硬件抽象层 152

5.4 分析编码/解码过程 153

5.4.1 AMR编码 154

5.4.2 AMR解码 158

5.4.3 解码MP3 162

第6章 视频系统框架 165

6.1 视频系统结构 165

6.2 分析Overlay抽象层 167

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

6.2.2 实现Overlay系统抽象层 169

6.2.3 实现接口 170

6.3 实现Overlay框架 171

第7章 Camera照相机系统 174

7.1 Camera系统的结构 174

7.2 分析Camera接口和驱动 177

7.2.1 Camera驱动接口 177

7.2.2 硬件抽象层 184

7.3 实现Camera的硬件抽象层 189

7.3.1 Java程序部分 189

7.3.2 Camera的Java本地调用部分 190

7.3.3 Camera的本地库libui.so 190

7.3.4 Camera服务libcameraservice.so 192

第8章 振动器系统和警报系统 197

8.1 振动器系统 197

8.1.1 硬件抽象层 198

8.1.2 JNI框架部分 200

8.1.3 实现硬件抽象层 201

8.2 Alarm警报器系统 202

8.2.1 Alarm系统的结构 202

8.2.2 RTC驱动程序 203

8.2.3 模拟器环境的具体实现 206

第9章 绘制二维图像 207

9.1 使用Color类设置文本颜色 207

9.2 使用Paint类绘制图像 209

9.3 使用Canvas画布 213

9.4 使用Rect矩形类 215

9.5 NinePatch类 219

9.6 使用Matrix类 220

9.7 Bitmap类 224

9.8 使用BitmapFactory类 233

9.9 使用Region类 236

9.10 使用Typeface类 236

9.11 使用Shader类 236

第 10章 二维动画应用 240

10.1 使用Drawable实现动画效果 240

10.1.1 Drawable基础 240

10.1.2 使用Drawable实现动画效果 241

10.2 实现Tween Animation动画效果 242

10.2.1 Tween动画基础 243

10.2.2 定义动画效果 247

10.2.3 Tween应用实例1 249

10.2.4 Tween应用实例2 250

10.2.5 Tween Animation总结 251

10.3 实现Frame Animation动画效果 252

10.3.1 Frame动画基础 252

10.3.2 Frame动画应用实例 253

10.4 播放GIF动画 255

10.5 实现EditText动画特效 257

10.6 全新的Property Animation动画 258

第 11章 渲染二维图像 260

11.1 Android GDI系统之SurfaceFlinger 260

11.1.1 SurfaceFinger基础 260

11.1.2 Surface和Canvas 261

11.1.3 Surface渲染 261

11.2 Skia引擎 265

11.2.1 Skia基础 265

11.2.2 Skia介绍 266

11.2.3 Skia中的类 268

11.2.4 使用Skia绘图 276

11.2.5 Skia的其他功能 281

11.3 通过Skia绘制文字分析原理 282

第 12章 OpenGL ES基础 285

12.1 OpenGL ES介绍 285

12.2 OpenGL ES的基本应用 286

12.2.1 点线法绘制三角形 286

12.2.2 索引法绘制三角形 294

12.2.3 顶点法绘制三角形 299

12.3 实现投影效果 301

12.3.1 正交投影 302

12.3.2 透视投影 302

12.3.3 实现投影效果 303

12.4 实现光照效果 307

12.4.1 光照基础 307

12.4.2 实例应用——开启/关闭光照 309

12.4.3 实例应用——实现定位光效果 315

12.5 实现纹理映射效果 321

12.5.1 纹理映射基础 321

12.5.2 实例应用——实现三角形纹理贴图效果 323

12.5.3 实例应用——实现地月模型效果 328

12.5.4 实例应用——实现纹理拉伸效果 337

第 13章 OpenGL ES进阶 342

13.1 绘制基本的三维形状 342

13.1.1 绘制一个圆柱体 342

13.1.2 绘制一个圆环 350

13.1.3 绘制一个抛物面效果 355

13.1.4 绘制一个螺旋面效果 359

13.2 实现坐标变换操作 363

13.2.1 实现缩放变换效果 364

13.2.2 实现平移变换效果 368

13.3 实现混合效果 369

13.3.1 基本知识 370

13.3.2 实现混合效果 371

13.4 实现摄像机和雾特效效果 375

13.4.1 摄像机 375

13.4.2 雾特效 376

13.4.3 实现雾特效和摄像机效果 376

13.5 粒子系统 388

13.5.1 粒子系统基础 388

13.5.2 实现粒子系统效果 389

第 14章 音频开发应用 393

14.1 音频应用接口类介绍 393

14.2 AudioManager类 394

14.2.1 AudioManager基础 394

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

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

14.3 录音处理 405

14.3.1 使用MediaRecorder接口录制音频 406

14.3.2 使用AudioRecord接口录制音频 414

14.4 播放音频 421

14.4.1 使用AudioTrack播放音频 421

14.4.2 使用MediaPlayer播放音频 425

14.4.3 使用SoundPool播放音频 438

14.4.4 使用Ringtone播放铃声 441

14.4.5 使用JetPlayer播放音频 444

14.4.6 使用AudioEffect处理音效 446

14.5 语音识别技术 449

14.5.1 Text-To-Speech技术 449

14.5.2 谷歌的Voice Recognition技术 453

14.6 实现振动效果 455

14.6.1 Vibrator类基础 456

14.6.2 使用Vibrator实现振动效果 457

14.7 设置闹钟 462

14.7.1 AlarmManage基础 463

14.7.2 开发一个闹钟程序 464

第 15章 视频开发应用 470

15.1 使用MediaPlayer播放视频 470

15.2 使用VideoView播放视频 478

15.2.1 VideoView基础 478

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

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

15.3 使用Camera拍照 485

15.3.1 Camera基础 486

15.3.2 总结Camera拍照的流程 488

15.3.3 使用Camera预览并拍照 490

第 16章 开发一个屏保程序 498

16.1 屏幕保护程序介绍 498

16.1.1 屏幕保护程序的作用 498

16.1.2 手机中的屏幕保护程序 499

16.2 开发屏保程序的原理 499

16.3 开发一个屏保程序 500

16.3.1 准备素材图片 500

16.3.2 编写布局文件 501

16.3.3 编写主程序文件 502

第 17章 开发一个音乐播放器 515

17.1 项目介绍 515

17.1.1 项目背景介绍 515

17.1.2 项目的目的 516

17.2 系统需求分析 516

17.2.1 构成模块 516

17.2.2 系统流程 521

17.2.3 功能结构图 522

17.2.4 系统功能说明 522

17.2.5 系统需求 524

17.3 数据库设计 525

17.3.1 字段设计 525

17.3.2 E-R图设计 525

17.3.3 数据库连接 526

17.3.4 创建数据库 526

17.3.5 操作数据库 527

17.3.6 数据显示 529

17.4 具体编码 529

17.4.1 设置服务信息 529

17.4.2 播放器主界面 530

17.4.3 播放列表功能 543

17.4.4 菜单功能模块 547

17.4.5 播放设置界面 550

17.4.6 设置显示歌词 553

17.4.7 文件浏览器模块 555

17.4.8 数据存储 558

17.5 总结 560

详情

通过对Android多媒体实战开发技术,如图像、音频、视频、2D和3D的详细讲解,让读者学会如何驾驭复杂的应用程序,这些特性是目前市面上的一些书籍所没有的。本书中的大型案例均来源于真实的产品,100%原创。

图书摘要

相关图书

Android App开发入门与实战
Android App开发入门与实战
Kotlin入门与实战
Kotlin入门与实战
Android 并发开发
Android 并发开发
Android APP开发实战——从规划到上线全程详解
Android APP开发实战——从规划到上线全程详解
Android应用案例开发大全( 第4版)
Android应用案例开发大全( 第4版)
深入理解Android内核设计思想(第2版)(上下册)
深入理解Android内核设计思想(第2版)(上下册)

相关文章

相关课程