我刚刚开始使用Android多媒体框架(Stagefright
),并对使用AwesomePlayer
的{{1}}中本地回放的工作原理有了基本了解。
我一直使用OMXCodec
状态图来映射我的理解
http://developer.android.com/reference/android/media/MediaPlayer.html到目前为止它已经相当不错了。我已经能够将我的理解映射到代码中。
但是我看一下MediaPlayer
模块(可能用于流媒体ACodec
,rtsp
等)我发现很难。
我无法理解HLS
是如何形成的。
我查看了这篇文章Android: MPEG4Writer fails to start when using OMXCodec as MediaSource,但仍无法与MediaCodec达成协议。
MediaCodec
与MediaCodec
我知道本地播放时的引擎很棒,在流式传输时会被OMXCodec
取代。
答案 0 :(得分:2)
从架构角度来看,OMXCodec
和ACodec
是底层OMX
组件的最低抽象。 OMXCodec
是第一个被引入的ACodec
,NuPlayer
与OMX
相关。
这两个实体都可以使用基础audio
组件,并且可以同时支持video
和Miracast
个编解码器。但是,ACodec
仅通过以下原因支持自适应播放,MediaCodec
等新功能。
NDK
是本机(Java
)和SDK
(MediaExtractor
)级别接口,为最终用户提供实例化独立编解码器。 Android一直在公开MediaMuxer
,MediaCodec
等构建模块,以便为应用程序开发人员提供更好的灵活性。 MediaCodec
就是这样一个界面。
内部ACodec
实例化OMXCodec
实例,因此在架构上高于Miracast
。所有新功能(如MediaCodec
,自适应回放)仅反映在ACodec
中,因此相应的相关更改仅在{{1}}中显示。