如何在Android中没有video视图的情况下从URL获取video的毫秒长度?

我在Android中制作媒体播放器。 我需要一个代码才能在不使用video的情况下获取video长度。

我在Stack溢出中看到很多页面但是用过的页面用于显示如何在video视图中获取video的长度,但我需要没有video视图。

您可以使用MediaMetadataRetriever获取此类信息。 此类旨在供想要获取有关媒体的特定信息而无需使用MediaPlayer用户使用。

以下是如何使用它的示例:

 MediaMetadataRetriever retriever = new MediaMetadataRetriever(); retriever.setDataSource(your_data_source); String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); long timeInmillisec = Long.parseLong( time ); long duration = timeInmillisec / 1000; long hours = duration / 3600; long minutes = (duration - hours * 3600) / 60; long seconds = duration - (hours * 3600 + minutes * 60);