内容简介:normandie是一套播放框架及其实现,并且90%的接口与android mediaplayer一致,包括生命周期状态机的实现等等。方便原来android框架的开发者迁移。在android上做音视频开发的同学应该比较清楚,除了mediaplayer,android还提供了其它播放音视频的类,比如视频播放的还有videoview。normandie在设计之初,就没有打算实现类似videoview这样的类。
normandie是一套播放框架及其实现,并且90%的接口与android mediaplayer一致,包括生命周期状态机的实现等等。方便原来android框架的开发者迁移。
在android上做音视频开发的同学应该比较清楚,除了mediaplayer,android还提供了其它播放音视频的类,比如视频播放的还有videoview。
normandie在设计之初,就没有打算实现类似videoview这样的类。
videoview的优点是接口更简单,但它的缺点也是接口太简单,这里简单的意思是不够灵活。
音视频播放尤其是在线音视频播放的情况更为复杂,mediaplayer可以为开发者提供更为灵活的接口,更贴近底层框架的能力,让开发者去发挥,videoview大大的限制了开发者可以利用底层框架的能力。
下图是mediaplayer的状态机,设计的比较灵活
https://developer.android.com...
android mediaplayer
https://developer.android.com...android videoview
https://developer.android.com...1.开发者可以基于normandie的mediaplayer api自己根据需要定制,videoview,baseplayerview都可以。
2.有开发者这么做了,并且将这个定制提供给其它业务使用,扩大了normandie的覆盖范围。但是之后随着一些业务的发展,这个定制就出现了之前提到的类似videoview不能满足业务需求的问题。
举两个例子:
(1).类似videoview的定制不容易实现预加载,因为它提供的接口不能让开发者知道更多状态信息。
预加载:同时多个palyer进行加载,但只有一个在前台播放。
(2).开发者想关心,拉取的内容的一些信息,比如分辨率等,类似videoview定制没有接口可以做。
有时候少即是多。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript
Douglas Crockford / Yahoo Press / 2008-5 / GBP 23.99
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative b......一起来看看 《JavaScript》 这本书的介绍吧!