题
sp<MetaData> MP3Extractor::getTrackMetaData(size_t index, uint32_t flags) {
ALOGE("%s\t%d",__FUNCTION__,__LINE__);
if (mInitCheck != OK || index != 0) {
return NULL;
}
return mMeta;
}
为什么需要这个功能 MP3Extractor
?
解决方案
MediaExtractor
是一个实现多路复用数据的容器或文件格式解析的模块。一个文件中会有多个 track
s 对应于特定数据,例如 video
或者 audio
. 。同样,在一个 MP3
文件中,可能有多个由其索引标识的轨道。函数中的索引对应于特定的 track
出于兴趣。
现在,为什么需要这个功能?自从 MP3Extractor
框架中的另一个提取器,它必须支持这个功能,原因如下。让我们考虑一下 player
举个例子。 AwesomePlayer
是一个设置整个管道的播放器引擎。
在此过程中,播放器引擎将首先设置提取器,然后尝试创建下游组件,例如 decoder
来消费数据。这 decoder
特定于由 index
. 。创建一个 decoder
, ,需要知道所表示或捕获的数据的特征 meta
IE。将用于创建和初始化下游组件的元数据。
不隶属于 StackOverflow