10 2012 档案

摘要:DataSource是将媒体源数据读取然后输送到分离器分析的环节。DataSource是一个基类,根据各种数据源的不同,它有着很多的派生类。直接由DataSource派生的有:FileSource,DataUriSource,LiveDataSource,MPEG4DataSource,HTTPBase,NuCachedSource2,ThrottledSource。其中NuHTTPDataSource,ChromiumHTTPDataSource继承于HTTPBase。我们根据数据源的来源分为本地媒体和流媒体两种。 本地媒体数据源: 本地媒体有两种读入的方式,一种是直接的路径读入, ... 阅读全文
posted @ 2012-10-22 20:33 cerberspace 阅读(1166) 评论(0) 推荐(0)
摘要:多媒体框架stagefright是android2.3后替代opencore的。整个框架非常庞大,这里将它分为编码器、解码器、合成器、分离器、PCM数据和YUV数据输入、数据源(DataSource)、渲染器、AudioPlayer等八个部分。接下来一系列博文会把stagefright分解为这八个部分来一一介绍,最后通过详细介绍Audio和Video的播放和录制过程来分析它们之间是如何关联的。 图1-1 stagefright数据流过程图 上图简单示意了播放和录制时,媒体数据流在stagefright框架的各部分的流转。 DataSource:从本地媒体文件或者流媒体读取数据,给分离... 阅读全文
posted @ 2012-10-12 14:16 cerberspace 阅读(1434) 评论(0) 推荐(0)
摘要:摘要:在Android4.1中,MediaPlayer实现两个完全独立的MediaPlayer类上执行无缝播放,这里介绍一下Android是如何实现无缝播放的。 一、使用方法 在第一个MediaPlayer类执行结束前的任何时间调用setNextMediaPlayer(MediaPlayer next)这个方法,该方法的参数是第二个文件创建的MediaPlayer实例。然后Android系统将会在您第一个停止的时候紧接着播放第二个文件。 二、实现 MediaPlayer类中的setNextMediaPlayer方法一路追踪JNI层的Android_Media_MediaPlayer... 阅读全文
posted @ 2012-10-09 16:25 cerberspace 阅读(2513) 评论(0) 推荐(0)
摘要:摘要:Android提供了一套音效处理的库,包括有BassBoost重低音,Equalizer均衡器,Virtualizer虚拟器,PresetReverb预置混响,EnvirenmentReverb环境音混响,Visaulizer可视化,downmix,preprocess(AGC(增益) AEC(回声消除) NS(噪声抑制))等。本文介绍音效库是如何从底层获取数据和为上层提供处理好的数据。 一、如何加载库和创建音效 以上这些音效分别封装在libbundlewrapper.so,libreverbwrapper.so,libvisualizer.so,libdownmix.so,li... 阅读全文
posted @ 2012-10-08 17:46 cerberspace 阅读(3153) 评论(2) 推荐(0)