基本信息
原书名: Pro Android Media: Developing Graphics, Music, Video, and Rich Media Apps for Smartphones and Tablets
原出版社: Apress
作者: (美)Shawn Van Every
译者: 巢文涵
丛书名: 移动与嵌入式开发技术
出版社:清华大学出版社
ISBN:9787302278894
上架时间:2012-3-12
出版日期:2012 年2月
开本:16开
页码:288
版次:1-1
样章试读:http://product.china-pub.com/59673
编辑推荐:
国内首本译著android 多媒体应用开发图书
内容简介:
《Android多媒体开发高级编程——为智能手机和平板电脑开发图形、音乐、视频和富媒体应用》使用清晰、直观的示例介绍了Android SDK中丰富的多媒体功能,有助于您开发能够创建、播放和共享多媒体的优秀Android应用程序。许多Android设备本身就是照相机、相册、摄像机、电影播放器、音乐播放器以及录音机——为何不在应用程序中使用所有这些及更多的功能?这些令人激动的功能将使您的应用程序熠熠生辉,实现更多的用途。
本书首先讨论摄像头和成像功能,然后介绍音频捕获、处理及合成,最后以视频和用于多媒体共享的联机服务作为结束。作为开发人员,您可以跳转到任何章节,使用讨论的内容和示例代码来创建利用所展示功能的应用程序。所以,无论是对可视化声波还是编写触摸屏绘图应用程序感兴趣,您都会发现如何使应用程序能够工作、制作精良以及令人眼前一亮所需要的所有信息。
多媒体应用程序在移动设备上的未来越来越令人兴奋。((Android多媒体开发高级编程——为智能手机和平板电脑开发图形、音乐、视频和富媒体应用》将帮助您以Android多媒体应用程序的方式来创建并定义这一美好的未来。
作者介绍:
Shawn Van Every是一位资深的移动和流媒体顾问,他帮助公司更好地利用与音频和视频相关的新兴技术,主要是开发移动和流媒体应用程序。他的客户范围从19 Entertainment、MoMA和迪斯尼(Disney),到Morgan Stanley、雷曼兄弟(Lehman Brothers)和纽约大学医学院(NYU Media School),同时还包括无数的创业公司和其他小型客户。
此外,Shawn是纽约大学交互式电信计划(Interactive Telecommunications Program)中通信领域内的一位兼职助理教授。他的教学范围很广泛,包括参与性和社会媒体、编程、移动技术以及交互式电话等课程。他于2008年获得了大卫佩恩卡特(David Payne Carter)卓越教学奖。
他在许多会议和技术展示中演示、展示和介绍了其工作内容(包括O'Reilly的新兴电话,O'Reilly的新兴技术、ACM Multimedia、Vloggercon以及Strong Angle II)。他是Open Media Developers Summit,Beyond Broadcast(开放媒体开发者峰会,超越广播)(2006)以及iPhoneDevCamp NYC(NYC iPhone开发夏令营)的联合组织者。
Shawn在纽约布法罗市的SUNY大学获得多媒体研究(Media Study)方向的学士学位,并在纽约大学获得交互式电信方向的硕士学位。
目 录
第1章 Android图像概述 1
1.1 使用内置的Camera应用程序
捕获图像 1
1.1.1 从Camera应用程序返回
数据 2
1.1.2 捕获更大的图像 5
1.1.3 显示大图像 6
1.2 图像存储和元数据 10
1.2.1 获得图像的Uri 10
1.2.2 更新CameraActivity以
使用MediaStore存储图像
和关联元数据 12
1.2.3 使用MediaStore检索图像 17
1.2.4 创建图像查看应用程序 18
1.2.5 内部元数据 22
1.3 本章小结 22
第2章 构建定制的Camera
应用程序 25
2.1 使用Camera类 25
2.1.1 CAMERA权限 25
2.1.2 预览Surface 26
2.1.3 实现Camera对象 27
2.1.4 汇总 36
2.2 扩展定制的Camera应用
程序 39
2.2.1 构建基于定时器的Camera
应用程序 40
2.2.2 构建时间推移摄影应用
程序 45
2.3 本章小结 47
第3章 图像编辑和处理 49
3.1 使用内置Gallery应用程序
选择图像 49
3.2 在位图上绘制位图 53
3.3 基本的图像缩放和旋转 55
3.3.1 输入矩阵 55
3.3.2 Matrix类的方法 58
3.4 图像处理 62
3.4.1 ColorMatrix 62
3.4.2 改变对比度和亮度 64
3.4.3 改变饱和度 65
3.5 图像合成 66
3.6 本章小结 72
第4章 图形和触摸事件 73
4.1 画布绘图 73
4.1.1 位图创建 73
4.1.2 位图配置 74
4.1.3 创建Canvas对象 74
4.1.4 使用Paint对象 75
4.1.5 绘制形状 76
4.1.6 绘制文本 79
4.2 手指绘图 83
4.2.1 触摸事件 83
4.2.2 在现有图像上绘制 86
4.2.3 保存基于位图的画布绘图 90
4.3 本章小结 93
第5章 Android音频概述 95
5.1 音频播放 95
5.1.1 支持的音频格式 95
5.1.2 通过意图使用内置的
音频播放器 96
5.1.3 创建自定义的音频播放
应用程序 98
5.1.4 用于音频的MediaStore 104
5.2 本章小结 112
第6章 后台和网络音频 113
6.1 后台音频播放 113
6.1.1 服务 113
6.1.2 加上MediaPlayer的本地
服务 117
6.1.3 控制服务中的
MediaPlayer 121
6.2 网络音频 126
6.2.1 HTTP音频播放 127
6.2.2 通过HTTP的流式音频 132
6.2.3 RTSP音频流 140
6.3 本章小结 141
第7章 音频捕获 143
7.1 通过意图捕获音频 143
7.2 定制音频捕获 146
7.2.1 MediaRecorder音频源 147
7.2.2 MediaRecorder输出格式 147
7.2.3 MediaRecorder音频
编码器 148
7.2.4 MediaRecorder输出
和录制 148
7.2.5 MediaRecorder状态机 148
7.2.6 MediaRecorder示例 149
7.2.7 其他的MediaRecorder
方法 154
7.3 将音频插入MediaStore 160
7.4 使用AudioRecord录制原始
音频 160
7.5 使用AudioTrack播放原始
音频 163
7.6 捕获和播放原始音频的
示例 164
7.7 本章小结 170
第8章 音频合成与分析 171
8.1 数字音频合成 171
8.1.1 播放合成声音 171
8.1.2 生成样本 174
8.2 音频分析 180
8.2.1 捕获声音以进行分析 180
8.2.2 可视化频率 181
8.3 本章小结 186
第9章 视频概述 187
9.1 视频播放 187
9.1.1 支持的格式 187
9.1.2 使用意图播放 188
9.1.3 使用VideoView播放 189
9.1.4 使用MediaController添加
控制 190
9.1.5 使用MediaPlayer播放 191
9.2 本章小结 201
第10章 视频进阶 203
10.1 使用MediaStore检索
视频 203
10.1.1 来自MediaStore的
视频缩略图 204
10.1.2 完整的MediaStore
视频示例 204
10.2 网络视频 211
10.2.1 支持的网络视频类型 211
10.2.2 网络视频播放 213
10.3 本章小结 221
第11章 视频捕获 223
11.1 使用意图录制视频 223
11.2 添加视频元数据 226
11.3 定制视频捕获 229
11.3.1 将MediaRecorder用于
视频 230
11.3.2 定制视频捕获的完整
示例 239
11.4 本章小结 244
第12章 使用Web服务的媒体
消费和发布 245
12.1 Web服务 245
12.2 HTTP请求 246
12.3 JSON 248
12.3.1 使用JSON提取
Flickr图像 251
12.3.2 位置 259
12.3.3 使用JSON和位置提取
Flickr图像 262
12.4 REST 268
12.4.1 以XML表示数据 269
12.4.2 SAX分析 269
12.5 HTTP文件上传 274
12.5.1 生成HTTP请求 275
12.5.2 上传视频到Blip.TV 276
12.6 本章小结 288
目 录
第1章 Android图像概述 1
1.1 使用内置的Camera应用程序
捕获图像 1
1.1.1 从Camera应用程序返回
数据 2
1.1.2 捕获更大的图像 5
1.1.3 显示大图像 6
1.2 图像存储和元数据 10
1.2.1 获得图像的Uri 10
1.2.2 更新CameraActivity以
使用MediaStore存储图像
和关联元数据 12
1.2.3 使用MediaStore检索图像 17
1.2.4 创建图像查看应用程序 18
1.2.5 内部元数据 22
1.3 本章小结 22
第2章 构建定制的Camera
应用程序 25
2.1 使用Camera类 25
2.1.1 CAMERA权限 25
2.1.2 预览Surface 26
2.1.3 实现Camera对象 27
2.1.4 汇总 36
2.2 扩展定制的Camera应用
程序 39
2.2.1 构建基于定时器的Camera
应用程序 40
2.2.2 构建时间推移摄影应用
程序 45
2.3 本章小结 47
第3章 图像编辑和处理 49
3.1 使用内置Gallery应用程序
选择图像 49
3.2 在位图上绘制位图 53
3.3 基本的图像缩放和旋转 55
3.3.1 输入矩阵 55
3.3.2 Matrix类的方法 58
3.4 图像处理 62
3.4.1 ColorMatrix 62
3.4.2 改变对比度和亮度 64
3.4.3 改变饱和度 65
3.5 图像合成 66
3.6 本章小结 72
第4章 图形和触摸事件 73
4.1 画布绘图 73
4.1.1 位图创建 73
4.1.2 位图配置 74
4.1.3 创建Canvas对象 74
4.1.4 使用Paint对象 75
4.1.5 绘制形状 76
4.1.6 绘制文本 79
4.2 手指绘图 83
4.2.1 触摸事件 83
4.2.2 在现有图像上绘制 86
4.2.3 保存基于位图的画布绘图 90
4.3 本章小结 93
第5章 Android音频概述 95
5.1 音频播放 95
5.1.1 支持的音频格式 95
5.1.2 通过意图使用内置的
音频播放器 96
5.1.3 创建自定义的音频播放
应用程序 98
5.1.4 用于音频的MediaStore 104
5.2 本章小结 112
第6章 后台和网络音频 113
6.1 后台音频播放 113
6.1.1 服务 113
6.1.2 加上MediaPlayer的本地
服务 117
6.1.3 控制服务中的
MediaPlayer 121
6.2 网络音频 126
6.2.1 HTTP音频播放 127
6.2.2 通过HTTP的流式音频 132
6.2.3 RTSP音频流 140
6.3 本章小结 141
第7章 音频捕获 143
7.1 通过意图捕获音频 143
7.2 定制音频捕获 146
7.2.1 MediaRecorder音频源 147
7.2.2 MediaRecorder输出格式 147
7.2.3 MediaRecorder音频
编码器 148
7.2.4 MediaRecorder输出
和录制 148
7.2.5 MediaRecorder状态机 148
7.2.6 MediaRecorder示例 149
7.2.7 其他的MediaRecorder
方法 154
7.3 将音频插入MediaStore 160
7.4 使用AudioRecord录制原始
音频 160
7.5 使用AudioTrack播放原始
音频 163
7.6 捕获和播放原始音频的
示例 164
7.7 本章小结 170
第8章 音频合成与分析 171
8.1 数字音频合成 171
8.1.1 播放合成声音 171
8.1.2 生成样本 174
8.2 音频分析 180
8.2.1 捕获声音以进行分析 180
8.2.2 可视化频率 181
8.3 本章小结 186
第9章 视频概述 187
9.1 视频播放 187
9.1.1 支持的格式 187
9.1.2 使用意图播放 188
9.1.3 使用VideoView播放 189
9.1.4 使用MediaController添加
控制 190
9.1.5 使用MediaPlayer播放 191
9.2 本章小结 201
第10章 视频进阶 203
10.1 使用MediaStore检索
视频 203
10.1.1 来自MediaStore的
视频缩略图 204
10.1.2 完整的MediaStore
视频示例 204
10.2 网络视频 211
10.2.1 支持的网络视频类型 211
10.2.2 网络视频播放 213
10.3 本章小结 221
第11章 视频捕获 223
11.1 使用意图录制视频 223
11.2 添加视频元数据 226
11.3 定制视频捕获 229
11.3.1 将MediaRecorder用于
视频 230
11.3.2 定制视频捕获的完整
示例 239
11.4 本章小结 244
第12章 使用Web服务的媒体
消费和发布 245
12.1 Web服务 245
12.2 HTTP请求 246
12.3 JSON 248
12.3.1 使用JSON提取
Flickr图像 251
12.3.2 位置 259
12.3.3 使用JSON和位置提取
Flickr图像 262
12.4 REST 268
12.4.1 以XML表示数据 269
12.4.2 SAX分析 269
12.5 HTTP文件上传 274
12.5.1 生成HTTP请求 275
12.5.2 上传视频到Blip.TV 276
12.6 本章小结 288