Android开发者指南(12) —— Android Supported Media Formats

简介:

本文档描述了Android平台支持的媒体播放解码器、网络协议。

作为一名应用软件开发者,你可以自由使用平台上的媒体解码器,这些编解码可以是平台提供,或者是特定设备支持。然而,最好习惯于使用媒体编码配置信息使得应用软件代码编写能够与具体硬件无关

网络协议(Network Protocols)

         可以支持下述网络协议音视频的播放:

 * 实时流传输协议RTSP (实时传输协议RTP, 会话描述协议SDP)

 * Http流式传输(译者注:串流传输分两种:progressive streamingreal time streamingprogressive好处是透过HTTP来传输,品质较好,只能单点播送(Unitcast),参见文章这里。)

 * HTTP Live Streaming协议(Android 3.0及以上(译者注:HTTP Live Streaming最初是由苹果公司针对其iPhoneiPodiTouchiPad等移动设备而开发的流媒体协议,点这里下载。)

注意:暂时不支持HTTPS

媒体格式(Core Media Formats)

下表列出了Android平台内置支持的媒体格式。请注意,任何一种移动设备都有可能提供更多的不在表中的格式支持。

注意:具体的媒体编解码不一定在所有的Android平台版本上都支持,相应的会通过括号标注出来,例如”(Android 3.0+)”

类型

格式 /编码

编码器

解码器

详细说明

支持文件类型 / 容器格式

Audio

AAC LC/LTP

单声道/立体声 满足各种标准比特率组合,最高可达160kbsp,采样率从848kHz

3GPP (.3gp) and MPEG-4 (.mp4, .m4a). No support for raw AAC (.aac)

HE-AACv1 (AAC+)

 

HE-AACv2 (enhanced AAC+)

 

AMR-NB

4.75 to 12.2 kbps sampled @ 8kHz

3GPP (.3gp)

AMR-WB

9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz

3GPP (.3gp)

MP3

 

单声道/立体声 8-320kbps常数(CBR)或可变比特率(VBR)

MP3 (.mp3)

MIDI

 

01MIDI类型。DLS版本12XMF和移动XMF。支持铃声格式RTTTL/RTX, OTA, and iMelody

Type 0 and 1 (.mid, .xmf, .mxmf). Also RTTTL/RTX (.rtttl, .rtx), OTA (.ota), and iMelody (.imy)

Ogg Vorbis

 

 

Ogg (.ogg)

PCM/WAVE

 

816位线性PCM(速率受硬件限制)

WAVE (.wav)

Image

JPEG

Base+progressive

JPEG (.jpg)

GIF

 

 

GIF (.gif)

PNG

 

PNG (.png)

BMP

 

 

BMP (.bmp)

Video

H.263

 

3GPP (.3gp) and MPEG-4 (.mp4)

H.264 AVC


(Android 3.0+)

Baseline Profile (BP)(译者注:H.264 Baseline Profile压缩算法,参见这里

3GPP (.3gp) and MPEG-4 (.mp4)

MPEG-4 SP

 

 

3GPP (.3gp)


视频编码建议
(Video Encoding Recommendations)

表二列出了Android媒体播放框架支持的视频编码配置和参数的例子。除了这些推荐的编码参数,设备支持的视频录像配置信息可以通过代理获得媒体回放功能参数。这些配置信息可以通过API级别8开始加入的CamcorderProfile类来得到。

表二:支持视频编码配置和参数的例子

 

低质量  

高质量

Video codec

H.264 Baseline Profile

H.264 Baseline Profile

视频分辨率

176 x 144 px

480 x 360 px

视频帧速率

12 fps

30 fps

视频比特率

56 Kbps

500 Kbps

音频编码

AAC-LC

AAC-LC

音频通道(声道)

1 (单声道)

2(立体声)

音频比特率

24 Kbps

128 Kbps

         对于通过HTTPRTSP传输视频数据还有额外要求:

         *  对于3GPPMPEG-4moov单元必须先于任何mdat原子。

         *  对于3GPPMPEG-4WebM,音频和视频对应在同一时间偏差可能不到500KB就分开。为了尽量减少这种音频/视频偏差,可以考虑较小的在较小的块中交叉音频和视频。

本文转自博客园农民伯伯的博客,原文链接:Android开发者指南(12) —— Android Supported Media Formats,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
163 3
|
8月前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
226 0
|
4月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统架构差异及其对开发者的影响
本文旨在通过对比分析iOS和Android两大移动操作系统的系统架构,探讨它们在设计理念、技术实现及开发者生态方面的差异。不同于常规摘要仅概述内容要点,本摘要将简要触及核心议题,为读者提供对两大平台架构特点的宏观理解,铺垫
|
5月前
|
安全 Java Linux
深入解析Android系统架构及其对开发者的意义####
【10月更文挑战第21天】 本文旨在为读者揭开Android操作系统架构的神秘面纱,探讨其如何塑造现代移动应用开发格局。通过剖析Linux内核、硬件抽象层、运行时环境及应用程序框架等关键组件,揭示Android平台的强大功能与灵活性。文章强调了理解Android架构对于开发者优化应用性能、提升用户体验的重要性,并展望了未来技术趋势下Android的发展方向。 ####
134 0
|
6月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
7月前
|
前端开发 Java 数据库
💡Android开发者必看!掌握这5大框架,轻松打造爆款应用不是梦!🏆
在Android开发领域,框架犹如指路明灯,助力开发者加速应用开发并提升品质。本文将介绍五大必备框架:Retrofit简化网络请求,Room优化数据库访问,MVVM架构提高代码可维护性,Dagger 2管理依赖注入,Jetpack Compose革新UI开发。掌握这些框架,助你在竞争激烈的市场中脱颖而出,打造爆款应用。
654 3
|
7月前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
91 3
|
7月前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
145 1
|
9月前
|
Java API Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在移动应用开发的广阔天地中,安卓和iOS这两大操作系统平台各自拥有独特的开发环境。本文旨在深入探讨这两个平台在开发语言、工具、API等方面的主要差异,并分析这些差异如何影响开发者的决策过程及最终产品的用户体验。通过比较分析,我们将揭示不同环境下的开发策略,以及它们对市场趋势的潜在影响。
110 27
|
8月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第22天】在移动开发的广阔舞台上,安卓与iOS两大操作系统各自占据着半壁江山。它们不仅是用户手中的智能设备,更是开发者展示创意和技术的战场。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何塑造开发者的技术路线和职业生涯。从编程语言到开发工具,从市场定位到用户需求,我们将一探究竟,这两种不同的生态系统是如何影响开发者的决策和成长的。

热门文章

最新文章

下一篇
oss创建bucket