21

我正在 Android 中制作媒体播放器。我需要一个代码来获取视频长度而不使用视频视图。

我在堆栈溢出中看到了许多页面,但曾经有一个页面用于显示如何在视频视图中获取视频的长度,但我需要没有视频视图。

4

1 回答 1

67

您可以使用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);
于 2013-04-28T11:04:06.580 回答