问题描述
问题:我有一个文件另存为音频,但其mimetype为video / 3gpp,并且还在播放 作为音频。。如何检测这种类型的文件,它是音频但mimetype是video / 3gpp 详细信息,以便我可以将其从列表中排除。
{{1}}
解决方法
假设这是本地文件,则可以使用MediaMetadataRetriever获取有关媒体文件的元数据信息。
具体来说,您可以检查METADATA_KEY_HAS_VIDEO是否设置为true。
科特林的一个例子:
val metadataRetriever = MediaMetadataRetriever()
metadataRetriever.setDataSource(context,Uri.fromFile(your3GPPFile))
val hasVideoKey = metadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO)
if (hasVideoKey == "yes") {
//Include in your list or do whatever work
//you need here
}
您还可以使用ExoPlayer并加载文件,然后使用获取曲目列表
player.getCurrentTrackGroups()
这将返回一组轨道,您可以循环浏览并解析格式以检查它们是否包含视频轨道。