MediaExtractor 是什么?
MediaExtractor 就是解复用器,将audio和video分离
Android 4.1目前支持mp4 mkv ogg wav flac amr ts mp3 ps aac wvm这几种分离器
其实android支持分离器支持的不好,很多格式都没有或者不够健壮,毕竟它一般是用在手机上,简单一些就够了,不过可以看到android media正在慢慢改进。
MediaExtractor 在哪被创建呢?
AwesomePlayer::finishSetDataSource_l() {
//如果是http网络流,会创建http datasource
mConnectingDataSource = HTTPBase::Create(
(mFlags & INCOGNITO)
? HTTPBase::kFlagIncognito
: 0);
//如果是本地流:
dataSource = DataSource::CreateFromURI(mUri.string(), &mUriHeaders);
//最终会调用 source = new FileSource(uri);
extractor = MediaExtractor::Create(
dataSource, sniffedMIME.empty() ? NULL : sniffedMIME.c_str());
}
sp<MediaExtractor> MediaE