Java如何獲取視頻文件的視頻時(shí)長(zhǎng)
Java獲取視頻文件的視頻時(shí)長(zhǎng)
1、導(dǎo)入maven依賴(lài)
<dependency>
<groupId>org.mp4parser</groupId>
<artifactId>isoparser</artifactId>
<version>1.9.41</version>
</dependency>2、代碼案例
import com.alibaba.fastjson2.JSON;
import org.mp4parser.IsoFile;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
public class Test {
public static void main(String[] args) throws ParseException {
long spsj = readDuration(Paths.get("C:\\Users\\Administrator\\Desktop\\ceshi.mp4"));
System.out.println(spsj);
}
public static long readDuration(Path mp4Path) {
if (Files.notExists(mp4Path) || !Files.isReadable(mp4Path)) {
System.out.println("文件路徑不存在或不可讀 " + mp4Path);
return 0;
}
try {
IsoFile isoFile = new IsoFile(mp4Path.toFile());
long duration = isoFile.getMovieBox().getMovieHeaderBox().getDuration();
long timescale = isoFile.getMovieBox().getMovieHeaderBox().getTimescale();
return duration / timescale;
} catch (IOException e) {
e.printStackTrace();
return 0;
}
}
}3、SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”
如果在運(yùn)行過(guò)程中報(bào)錯(cuò):
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
問(wèn)題分析:
org.slf4j.impl.StaticLoggerBinder通常存在于slf4j-nop.jar和slf4j-simple.jar中,雖然項(xiàng)目maven中已引入了simple包,但依然存在報(bào)錯(cuò)。
說(shuō)明simple包未真正被加載。
為了讓包更好的加載,在依賴(lài)中添加type為jar后,問(wèn)題得到解決。
<!-- 依賴(lài)軟件版本 -->
<properties>
<slf4j.version>1.7.30</slf4j.version>
</properties>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<!-- 注意,若無(wú)type為jar則報(bào)錯(cuò)-->
<type>jar</type>
</dependency>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring的事務(wù)控制實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Spring的事務(wù)控制實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
SpringBoot接口路徑重復(fù),啟動(dòng)服務(wù)器失敗的解決
這篇文章主要介紹了SpringBoot接口路徑重復(fù),啟動(dòng)服務(wù)器失敗的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼
這篇文章主要介紹了Java spring boot 實(shí)現(xiàn)支付寶支付功能,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Java版本兼容性之JDK 21的SDK在JDK 1.8的使用解讀
文章介紹了Java的字節(jié)碼版本機(jī)制以及如何處理UnsupportedClassVersionError錯(cuò)誤,文章首先解釋了JVM如何通過(guò)檢查.class文件的字節(jié)碼版本號(hào)來(lái)確定是否可以運(yùn)行該文件,然后給出了三個(gè)解決方案:統(tǒng)一環(huán)境、交叉編譯和多版本JAR2025-11-11
Java8函數(shù)式接口UnaryOperator用法示例
這篇文章主要介紹了Java8函數(shù)式接口UnaryOperator用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式
這篇文章主要介紹了java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問(wèn)
本文主要介紹了springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問(wèn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

