如何获得毫秒的视频从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);
谢谢。此代码对我有用 – Hemant 2014-03-08 08:29:24
此代码剂量不适用于Android 2.2和API Criss 2015-08-24 12:40:26
不,“MediaMetadataRetriever”类仅存在于API10 +上。 – 2015-08-24 13:36:24