如何获得毫秒的视频从Android的视频没有视频视图的长度?

问题描述:

我在Android上制作媒体播放器。我需要一段代码来获取视频长度而不使用视频视图。如何获得毫秒的视频从Android的视频没有视频视图的长度?

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

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

谢谢。此代码对我有用 – Hemant 2014-03-08 08:29:24

+1

此代码剂量不适用于Android 2.2和API Criss 2015-08-24 12:40:26

+0

不,“MediaMetadataRetriever”类仅存在于API10 +上。 – 2015-08-24 13:36:24