次の関数のインデックスは何ですか?
-
21-12-2019 - |
質問
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
またはvideo
のような特定のデータに対応する複数のaudio
があります。同様に、MP3
ファイルでは、それらのインデックスによって識別される複数のトラックがある可能性があります。関数内のインデックスは、関心のある特定のtrack
に対応しています。
今、なぜこの機能が必要なのですか? MP3Extractor
はフレームワーク内の別の抽出器であるため、この機能をサポートする必要があります。例としてplayer
を検討しましょう。 AwesomePlayer
は、パイプライン全体を設定するプレイヤーエンジンです。
このプロセスでは、プレーヤーエンジンは最初に抽出器を設定し、次にデータを消費するためにdecoder
のようなダウンストリームコンポーネントを作成しようとします。 decoder
は、index
によって識別されるトラックに固有のものです。 decoder
を作成するには、meta
すなわち、ダウンストリームコンポーネントを作成し初期化するために採用されるメタデータで表されるかまたはキャプチャされるデータの特性を知る必要があります。
所属していません StackOverflow