2012-04-23 125 views
1

我絕對是Android開發的新手,並試圖創建一個可以錄製視頻並查看錄製的視頻的小型視頻播放器。我正在查看應用程序在ListView中記錄的視頻列表,其中爲每個視頻顯示視頻的標題和長度。在Java/Android中提取3GP視頻文件的持續時間

我用獲取的視頻列表:

File[] fileList = directory.listFiles(filter); 

我已經能夠使用來獲取視頻的名稱如下:

fileList[i].getName() 

但我似乎無法弄清楚如何提取視頻的長度/持續時間。我找不到任何相關的API。

如何在Java中獲得3GP視頻文件的持續時間?

回答

1

你可以使用光標這樣的...

String[] proj = { 
      MediaStore.Video.Media._ID, 
      MediaStore.Video.Media.DATA, 
      MediaStore.Video.Media.DISPLAY_NAME, 
      MediaStore.Video.Media.SIZE, 
      MediaStore.Video.Media.DATE_TAKEN, 
      MediaStore.Video.Media.DURATION }; 

      videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,proj, null, null, null); 

您可以使用MediaStore.Video.Media.DURATION獲取視頻文件持續時間。

希望它能幫助你。

+1

那麼,我應該不是全部使用File []而是使用Cursor? 'managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,PROJ,NULL,NULL,NULL);'此方法是否可以提取SD卡中的所有視頻?我只希望所有視頻都來自SD卡中的特定目錄。 – 2012-04-23 11:37:37

+0

它將獲取所有視頻... – 2012-04-23 11:48:34

+0

只是爲了讓大家知道持續時間以毫秒爲單位。 – 2012-04-24 07:22:29