欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java如何獲取視頻文件的視頻時(shí)長(zhǎng)

 更新時(shí)間:2025年02月11日 11:40:48   作者:Monly21  
文章介紹了如何使用Java獲取視頻文件的視頻時(shí)長(zhǎng),包括導(dǎo)入maven依賴和代碼案例,同時(shí),也討論了在運(yùn)行過(guò)程中遇到的SLF4J加載問(wèn)題,并給出了解決方案

Java獲取視頻文件的視頻時(shí)長(zhǎng)

1、導(dǎo)入maven依賴

<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包未真正被加載。

為了讓包更好的加載,在依賴中添加type為jar后,問(wèn)題得到解決。

<!-- 依賴軟件版本 -->
<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)文章

  • Java中IO流之字符流與字節(jié)流的轉(zhuǎn)換方式

    Java中IO流之字符流與字節(jié)流的轉(zhuǎn)換方式

    在Java中,字節(jié)流與字符流是處理數(shù)據(jù)的兩種方式,字節(jié)流適用于處理各種數(shù)據(jù)類型,如圖片、音頻等非文本數(shù)據(jù),而字符流專門(mén)用于處理文本數(shù)據(jù),Java提供了InputStreamReader和OutputStreamWriter這兩個(gè)類來(lái)實(shí)現(xiàn)字節(jié)流向字符流的轉(zhuǎn)換
    2024-10-10
  • java開(kāi)發(fā)中的誤區(qū)和細(xì)節(jié)整理

    java開(kāi)發(fā)中的誤區(qū)和細(xì)節(jié)整理

    這篇文章給大家整理了關(guān)于JAVA開(kāi)發(fā)中的細(xì)節(jié)以及經(jīng)常進(jìn)入的誤區(qū)整理,希望我們整理的內(nèi)容能夠給大家提供到幫助。
    2018-04-04
  • 使用@Value 注入 List 類型的配置屬性需要注意的 BUG

    使用@Value 注入 List 類型的配置屬性需要注意的 BUG

    這篇文章主要介紹了使用@Value 注入 List 類型的配置屬性需要注意的 BUG,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring Boot 2.x中Actuator的一些知識(shí)點(diǎn)

    Spring Boot 2.x中Actuator的一些知識(shí)點(diǎn)

    這篇文章主要給大家介紹了關(guān)于Spring Boot 2.x中Actuator的一些知識(shí)點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot 2.x具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • SpringBoot熱部署啟動(dòng)關(guān)閉流程詳解

    SpringBoot熱部署啟動(dòng)關(guān)閉流程詳解

    Spring?Boot啟動(dòng)熱部署是一種技術(shù),它能讓開(kāi)發(fā)者在不重啟應(yīng)用程序的情況下實(shí)時(shí)更新代碼。這樣可以提高開(kāi)發(fā)效率,避免頻繁重啟應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-04-04
  • Java通過(guò)BCrypt加密過(guò)程詳解

    Java通過(guò)BCrypt加密過(guò)程詳解

    這篇文章主要介紹了Java通過(guò)BCrypt加密過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • SpringBoot如何實(shí)現(xiàn)并發(fā)任務(wù)并返回結(jié)果

    SpringBoot如何實(shí)現(xiàn)并發(fā)任務(wù)并返回結(jié)果

    這篇文章主要介紹了SpringBoot如何實(shí)現(xiàn)并發(fā)任務(wù)并返回結(jié)果問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Spring Cloud Gateway替代zuul作為API網(wǎng)關(guān)的方法

    Spring Cloud Gateway替代zuul作為API網(wǎng)關(guān)的方法

    本文簡(jiǎn)要介紹如何使用Spring Cloud Gateway 作為API 網(wǎng)關(guān)(不是使用zuul作為網(wǎng)關(guān)),結(jié)合實(shí)例代碼給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • Java設(shè)計(jì)模式之java模板方法模式詳解

    Java設(shè)計(jì)模式之java模板方法模式詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式模板方法模式(Template)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Java單例模式簡(jiǎn)單示例

    Java單例模式簡(jiǎn)單示例

    這篇文章主要介紹了Java單例模式,結(jié)合實(shí)例形式簡(jiǎn)單分析了java單例模式的定義與使用技巧,需要的朋友可以參考下
    2017-06-06

最新評(píng)論