浅析Android 5.0中多媒体相关的新特性

  本文来源于本人在所属公司内部分享的一次培训内容,由于100%是AOSP开源内容,所以应该可以分享出来给大家。

  Android L是在今年2014年6月的Google I/O开发者大会上正式推出的,其中包含了诸多改进,包括新的Material Design交互设计,卡片式风格的通知栏,对64位和ART的支持等等,本文则重点关注一些多媒体相关的新特性。

  由于Android L发布的时间仅有半年,无论国内还是国外的相关资料比较匮乏,很多内容本人只能是在Android developer网站中对L版本的只言片语的介绍文字基础上,去深入研究Android系统源码、开源社区、以及各种老外论坛上的信息加以整理,再融合了一些自己的理解。有些细节可能不完全正确,还请多多包涵。

  由于培训PPT是英文撰写,所以不一句一句翻译,直接贴图吧。

一、MediaBrowser API

二、使用MediaProjection对屏幕录像

三、新的MediaStyle类型的通知(Notification)

四、MediaSession和MediaController

五、原生支持H.265软解码器

六、音视频“隧道”播放模式(Tunneled Playback Mode)

七、低延迟音频输入(Low latency Audio Input)

八、音频采样的浮点数支持

九、7.1声道音频流混音

十、关于语音合成的改进

十一、Opus音频解码器

十二、USB Audio

十三、总结

  最后关于对这次Android L升级中,Google发出的信号是什么,简单聊一下我自己的理解。从之前提到的USB Audio,多声道混音,低延迟音频等feature的提出可以感觉到,Google开始更加重视专业级音频市场了,通过提高音频表现性能,添加更多的专业级的功能,满足音频处理方面的专业人士和发烧友的要求,Android已经不仅仅局限于便携式设备操作系统这样的定位。

  另外,Google一方面认真准备迎接4K影像以及下一代视频压缩格式H.265的普及,但是另一方面,也在积极发展自己的免费音视频解决方案,包括VP9和Opus。对于4k视频播放的电量消耗问题,Google也在努力改善视频播放框架,例如提出Tunneled playback mode,以实现降低功耗的目的。

  在视频录像方面,Google允许app在没有Root权限的情况下对屏幕进行录制,这将激励更多的应用厂商开发出类似于Remote xxx之类的功能。

  从各种API的发展速度来看,Google会持续对前端UI设计的演进,类级别的重构会持续下去,因此应用程序最好不要尝试通过反射去调用hidden API,这将降低app的设备兼容性。对于Android兼容性方面,我的理解是,不论是App开发商、手机制造商还是芯片制造商,都在参与AOSP这个开源项目,而作为开源社区的成员,有义务去努力维护Android整个生态环境的兼容性,遵守基本的开源合作准则,而不是去通过各种Hack的、非常规的技术手段去实现一些“牛逼”的功能,这不仅破环了Android生态的整体兼容性,还会害了别人而成为其他厂商眼中的“猪一样的队友”,换句话说,在开源项目中要有“环保意识”。

时间: 2024-08-24 17:44:41

浅析Android 5.0中多媒体相关的新特性的相关文章

.NET Framework 2.0中的数据访问新特性

1. 异步数据访问 ? 支持异步数据编程 ? SqlConnection – BeginOpen – EndOpen ? SqlCommand – BeginExecuteNonQuery – BeginExecuteReader – BeginExecuteXmlReader – EndExecuteNonQuery – EndExecuteReader – EndExecuteXmlReader 2. 多活动结果集(MARS) ? 在 SQL Server 2005 中支持多活动结果集 ?

在Android 5.0中使用JobScheduler

在Android 5.0中使用JobScheduler 原文链接 : using-the-jobscheduler-api-on-android-lollipop 译者 : Mr.Simple 校对者 : Mr.Simple 在这篇文章中,你会学习到在Android 5.0中如何使用JobScheduler API.JobScheduler API允许开发者在符合某些条件时创建执行在后台的任务. 介绍 在Android开发中,会存在这么些场景 : 你需要在稍后的某个时间点或者当满足某个特定的条件

Android4.0中AppWidget的一些新玩意体验---RemoteViewsService

最近要把之前做的2.3上面的一些程序移植到4.0上面来,  几乎所有的AppWidget都是我一手操办, 所以这个玩意都是我弄. 我把Android2.3的代码直接拷到4.0的环境下面, 编译然后Push,  直接可以跑, 这是木有问题的.  但是我发现4.0上面有一些新东东是之前2.3上面没有的, 我也读了下官方的文档, 做了些demo, 这里总结给大家, 在以后需要做AppWidget的时候可以得心应手. 1: 应用列表中的预览图 如果你不想你的Widget在应用列表里面显示成那个丑机器人图

ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 诸君,我喜欢嫩的--呸呸呸 诸君,我喜欢3D咋了?新事物会替代旧事物不是~ ArcGIS API for JavaScript 4.2概述 AJS 4.2,即ArcGIS API for JavaScript 4.2,是美国ESRI公司针对WebGIS市场推出的.利用JavaScript和Dojo开发的一款产品,它在2016年12月发布.而AJS 4.0 beta则在一年前就发布了. 关于AJS3和AJS4选择的问题,

细数Android5.0到Android7.X 多媒体技术新特性

Android 5.0 行为变更 媒体播放 如果您要实现显示媒体播放状态或传输控件的通知,请考虑使用新的 Notification.MediaStyle 模板,而不是自定义 RemoteViews.RemoteView 对象.无论您选择使用哪个方法,请务必将通知的可见性设为 VISIBILITY_PUBLIC,以便可通过锁定屏幕访问您的控件.请注意,从 Android 5.0 开始,系统不再将 RemoteControlClient 对象显示在锁定屏幕上. 媒体控件和 RemoteControl

Python 3.8.0 正式版发布,新特性初体验 全面介绍

Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PEP 572: Assignment Expressions 新增一种新语法形式::=,又称为"海象运算符"(为什么叫海象,看看这两个符号像不像颜表情),如果你用过 Go 语言,应该对这个语法非常熟悉. 具体作用我们直接用实例来展示,比如在使用正则匹配时,以往版本中我们会如下写: impor

spring4.0.6最新稳定版新特性学习,简单学习教程(一)

Spring Framework 4.0 学习整理. Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各种Bean,一个Spring项目的水平往往从其XML配置文件内容就能略知一二,很多项目,往往是外包公司的项目,配置文件往往是乱七八糟,抱着能跑就行,不报错就行的态度去写,然后在项目中后期发现各种缺失又去一通乱补,其结果就是,整个文档可读性极差,毫无章法.这也不能怪写这个XML的人,拿着苦逼程序员的工资干着架构师的工作必然是这个结果.为了程序员的幸福,我认为有必要来一套简单快速的官方

spring4.0.6最新稳定版新特性学习,注解自动扫描bean,自动注入bean(二)

Spring4.0的新特性我们在上一章已经介绍过了.包括它对jdk8的支持,Groovy Bean Definition DSL的支持,核心容器功能的改进,Web开发改进,测试框架改进等等.这张我们主要介绍spring4.0的自动扫描功能,以及对bean的过滤等特性进行学习. 好吧,废话少说,我们来看看代码吧. package com.herman.ss.test; import org.springframework.context.ApplicationContext; import org

Android 6.0中的新技术有哪些

最近 Google 正式发布了 Android M,并命名为"棉花糖"(Marshmallow),对于开发者来说,有哪些新的技术和变化呢?本文尝试总结一下 Android 6.0(API 23)给开发者带来新的技术和改变. 权限管理 权限管理是 Android M 最大的改变,权限管理更加精细,并且由以前的安装时静态授权,改为现在的运行时动态授权.大家对 Android 的权限吐槽已久,Android 应该能极大的改善这方面的问题.主要改变有: 系统设置中可以对 APP 各个权限单独控