extractor = new MediaExtractor();
extractor.setDataSource("sdcard/qqq/test2.mp4");
int numTracks = extractor.getTrackCount();
我这个文件夹下只有这一个视频文件,这段代码获取到的曲目数量numTracks 为什么是2
extractor = new MediaExtractor();
extractor.setDataSource("sdcard/qqq/test2.mp4");
int numTracks = extractor.getTrackCount();
我这个文件夹下只有这一个视频文件,这段代码获取到的曲目数量numTracks 为什么是2
MediaExtractor
类在 Android 中用于从媒体文件中提取音频和视频轨道。当你使用 extractor.setDataSource("sdcard/qqq/test2.mp4");
设置数据源时,它会尝试解析该文件并提取其中的所有轨道信息。
通常情况下,一个视频文件可能包含多个轨道,例如音频轨道和视频轨道。所以 numTracks
的值表示该视频文件中包含的轨道数量。
如果 numTracks
的值为2,可能是因为该视频文件包含了一个音频轨道和一个视频轨道。你可以通过循环来获取每个轨道的详细信息,例如:
for (int i = 0; i < numTracks; i++) {
MediaFormat format = extractor.getTrackFormat(i);
String mime = format.getString(MediaFormat.KEY_MIME);
Log.d("Track " + i, "MIME type: " + mime);
}
这样你就可以看到每个轨道的 MIME 类型,从而了解其中包含的是音频轨道还是视频轨道。