java 代碼擷取視頻時間長度

來源:互聯網
上載者:User

標籤:www.   port   字元   tle   return   col   project   idea   public   

java 代碼擷取視頻時間長度

 1 package test; 2  3 import java.io.File; 4 import java.math.BigDecimal; 5  6 import it.sauronsoftware.jave.Encoder; 7 import it.sauronsoftware.jave.MultimediaInfo; 8  9 10 public class ReadVideo {11     /**12      * 讀取視頻時間長度13      * @param videoPath 視頻路徑14      * @return15      */    16     public static String readVideo(String videoPath) {17         String durationStr = "";18         File file = new File(videoPath); //videoPath傳入值("D:\\666.mp4")19         Encoder encoder = new Encoder();20         long sum = 0;21         try {22             MultimediaInfo m = encoder.getInfo(file);23             sum = m.getDuration()/1000; //時間長度sum單位:秒24             25         } catch (Exception e) {26             e.printStackTrace();27         }28         double sum1 = (double) sum;29         System.out.println("視頻時間長度總秒數:"+sum1);30         31         BigDecimal duration =BigDecimal.valueOf(sum);32         durationStr = durationFormatToString(duration);33         System.out.println("視頻時間長度:"+durationStr);34         35         return durationStr;36     }37     38     /**39      * 將視頻時間長度轉換成"00:00:00.000"的字串格式            40      * @param duration 視頻時間長度(單位:秒)41      * @return42      */43     public static String durationFormatToString(BigDecimal duration)44     {45         BigDecimal nine = BigDecimal.valueOf(9);46         BigDecimal sixty = BigDecimal.valueOf(60);    47         48         BigDecimal second = duration.divideAndRemainder(sixty)[1];49         BigDecimal minute = duration.subtract(second).divide(sixty).divideAndRemainder(sixty)[1];50         BigDecimal hour = duration.subtract(second).divideToIntegralValue(BigDecimal.valueOf(3600));51         52         String str = "";53         if (hour.compareTo(nine)>0)54         {55             str += hour.intValue() + ":";56         }57         else58         {59             str += "0" + hour.intValue() + ":";60         }61         if (minute.compareTo(nine)>0)62         {63             str += minute.intValue() + ":";64         }65         else66         {67             str += "0" + minute.intValue() + ":";68         }69         if (second.compareTo(nine)>0)70         {71             str += second.intValue() + ".000";72         }73         else74         {75             str +="0"+ second.intValue() + ".000";76         }77         return str;78     }79 80 }

需要引入jar包 

http://www.sauronsoftware.it/projects/jave/download.php

https://pan.baidu.com/s/1slTz7it

 

參考網址:http://www.cnblogs.com/mysgk/p/4117134.html

java 代碼擷取視頻時間長度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.