1.概述
Android平台内置了常用类型媒体的编解码,可以在应用中方便地集成他们。访问平台的媒体能力是很直观简单的—可以使用相同的Intent和Activity机制。
Android能够从多个数据来源播放音视频:存在应用的资源目录中(raw resources)、文件系统中或者来自网络。通过android.media.MediaPlayer来播放。
平台同时也允许通过android.media.MediaRecorder录音视频,当然要硬件支持(模拟器可不行~要在真机上)。
Android1.5支持如下的媒体类型:
类型
|
格式
|
编码
|
解码
|
详情
|
文件类型
|
Audio
|
AAC LC/LTP
|
|
Y
|
单/
双声道160Kpbs
的码率,采样4-48KHz
|
3GPP(.3gp)
MPEG-4(.mp4,.m4a)
不支持raw AAC(.aac)
|
HE-AACv1
(AAC+)
|
|
Y
|
HE-AACv2
(
增强AAC+)
|
|
Y
|
AMR-NB
|
Y
|
Y
|
4.75 to 12.2 kbps sampled @ 8kHz
|
3GPP (.3gp)
|
AMR-WB
|
|
Y
|
9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz
|
3GPP (.3gp)
|
MP3
|
|
Y
|
Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR)
|
MP3 (.mp3)
|
MIDI
|
|
Y
|
MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody
|
Type 0 and 1 (.mid, .xmf, .mxmf). Also RTTTL/RTX (.rtttl, .rtx), OTA (.ota), and iMelody (.imy)
|
Ogg Vorbis
|
|
Y
|
|
Ogg (.ogg)
|
PCM/WAVE
|
|
Y
|
8- and 16-bit linear PCM (rates up to limit of hardware)
|
WAVE (.wav)
|
Image
|
JPEG
|
Y
|
Y
|
Base+progressive
|
JPEG(.jpg)
|
GIF
|
|
Y
|
|
GIF(.gif)
|
PNG
|
|
Y
|
|
PNG(.png)
|
BMP
|
|
Y
|
|
BMP(.bmp)
|
Video
|
H.263
|
Y
|
Y
|
|
3GPP (.3gp)
|
|
H.264 AVC
|
|
Y
|
|
3GPP (.3gp) and MPEG-4 (.mp4)
|
|
MPEG-4 SP
|
|
Y
|
|
3GPP (.3gp)
|
T1还
额外支持了:Audio
的WMA
,Video
的WMV类型。
2.播放
播放很简单,但从资源中播放和从文件/网络中播放还是有些区别,先说从资源中播放:
开始播放:MediaPlayer mp=MediaPlayer.create(context,R.raw.xxx);-->mp.start();
停止/播放:mp.stop()-->mp.reset();mp.prepare()-->mp.start();
暂停/播放:mp.pause()-->mp.start();
从文件/网络中播放:
开始播放:
MediaPlayer mp=new MediaPlayer.create();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
停止/播放和暂停/播放和上面一样。
3.录制
录制要稍微复杂一些,按照步骤:
- 实例化MediaRecorder:mr=new MediaRecorder();
- 初始化mr:mr.setAudioSource(MIC)/setVideoSource(CAMERA);必须在配置DataSource之前调用。
- 配置DataSource:设置输出文件格式(参见上表)/路径,编码器(参见上表)等
- 准备录制:mr.prepare();
- 开始录制:mr.start();
- 停止录制:mr.stop();
- 释放资源:mr.release();
学习这部分内容的时候,就想到对电话录音是个不错的主意。一google,发现早就有这个软件了,但有一个问题就是声音只能从MIC中录入(录音的效果不是很好),受限于基带处理器,不能直接获取通话的声音记录,以后会不会开放这个功能接口?
http://groups.google.com/group/android-developers/browse_thread/thread/355254941f17aa17
分享到:
相关推荐
### Android多媒体框架详细分析 #### 一、摘要 ...通过以上分析可以看出,Android多媒体框架是一个非常复杂且功能强大的系统,它集成了多媒体处理的各个方面,为开发高质量的多媒体应用提供了坚实的基础。
OpenCore不仅在Android早期版本中扮演着重要角色,而且在后续版本中与MediaCodec、MediaPlayer等组件一起构建了完整的多媒体处理体系。 OpenCore主要由以下几个模块组成: 1. **PVMF(Platform Video Middleware ...
MediaPlayer是Android多媒体框架中的核心类,用于播放音频和视频。它支持本地文件、网络流、甚至是其他应用程序提供的URI。MediaPlayer提供了控制播放进度、调整音量、设置播放模式(单曲循环、随机播放等)的能力。...
2. **MediaPlayer类**: 这是Android SDK中最常见的多媒体处理类,用于播放音频和视频文件。它可以处理多种格式的本地和网络媒体资源,并提供了控制播放、暂停、停止、快进、倒退等操作的接口。 3. **AudioManager**...
在Android系统中,多媒体框架是实现音频、视频播放和处理的核心组成部分。这篇博客"android多媒体框架分析"将深入探讨这一领域,旨在...对于想要深入理解Android多媒体处理的开发者来说,这将是一份宝贵的学习资料。
在深入分析Android多媒体构架之前,我们必须先了解Android系统作为一个整体是如何处理多媒体信息的。Android多媒体构架是一套复杂的系统,它涵盖了音频、视频、图形和图像的捕获、处理和播放。本分析报告将侧重于Ice...
OpenCore作为Android多媒体处理的核心,与其他组件紧密集成。例如,与硬件抽象层(HAL)配合,实现对硬件音视频设备的访问;与SurfaceFlinger协作,完成画面的合成和显示;与Android的多媒体服务(如MediaPlayer服务...
- **外部OpenCore项目**: 包含多种编解码器和多媒体处理组件,例如PVPlayer和PVAuthor。 - **PVPlayer**: 用于播放多媒体内容。 - **PVAuthor**: 用于创建或编辑多媒体内容。 #### 三、多媒体框架的关键库 **3.1 ...
本节将深入探讨Android多媒体开发的高级编程技巧,帮助开发者实现更高效、更丰富的多媒体应用。 1. **多媒体框架概述** Android的多媒体框架基于开放移动联盟(OMA)的开放移动 Alliance Digital Media ...
在Android平台上,多媒体处理是应用程序开发中的重要组成部分。"Android代码-安卓多媒体测试集合" 提供了一组专门用于测试和探索Android系统多媒体功能的代码样本。这个资源可以帮助开发者更好地理解和运用Android...
5. **Android多媒体框架**:Android提供了强大的多媒体框架,包括AudioTrack、MediaPlayer、VideoView等,使得开发者可以方便地处理各种媒体文件的播放和回放。 6. **网络通信**:为了实现服务端和客户端的通信,...
在Android平台上进行多媒体编程是一...通过理解和掌握以上知识点,开发者可以构建出功能丰富的Android多媒体应用,为用户提供丰富的视听体验。在实际开发中,应结合具体需求灵活运用,同时注意性能优化和用户体验设计。
**标题**:“Android多媒体框架.pdf”这一文档主要聚焦于Android系统中的多媒体框架,旨在为开发者提供深入理解与掌握Android平台多媒体功能的技术指南。 **描述**:文档重复了标题,但从描述中我们可以推测出此PDF...
Android 多媒体框架是 Android 系统中负责处理多媒体任务的核心组件,包括音频、视频、图像等多媒体数据的处理和播放。基于 PacketVideo 公司的 OpenCORE 平台,多媒体框架提供了一套通用的可扩展接口,支持所有通用...
在Android开发中,多媒体处理是应用开发不可或缺的一部分,尤其是对于音乐播放器、视频播放器等类型的应用。MediaPlayer类是Android SDK提供的一种核心组件,用于播放音频和视频文件。本篇文章将深入探讨Android...
总的来说,Android多媒体框架是一个强大且灵活的系统,它利用Open Core提供了丰富的多媒体处理能力,同时通过上层的Media API使得开发者能够轻松集成多媒体功能到自己的应用中。无论是播放本地媒体、流媒体还是进行...
OpenCORE是Android多媒体框架中的关键组件,它是一个开源的多媒体框架,提供了音频、视频的编解码能力,支持多种媒体格式。OpenCORE包含了PVMF(Packet Video Multimedia Framework)和其他组件,使得Android设备...
AMF包括多个层次,从低级别的硬件抽象层到高层的应用程序接口,使得开发者能够灵活地控制多媒体处理过程。 在图形开发部分,书中会详细介绍OpenGL ES,这是Android支持的3D图形库,广泛用于游戏开发和复杂的视觉...