我正在制作Android中的媒体播放器。我需要一个代码来获得视频的长度,而不使用视频视图。
我在Stack overflow中看到许多页面,但每个页面都用于显示如何在视频视图中获得视频长度,但我需要没有视频视图。
您可以使用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);