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

时间:2013-04-28 04:16:43

标签: android

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

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

1 个答案:

答案 0 :(得分:65)

您可以使用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);