標籤: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 代碼擷取視頻時間長度