Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 获取视频时长

作者:终生卟离   发布日期:2026-05-25   浏览:32

import java.io.File;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.Time;

public class VideoDuration {

    public static void main(String[] args) {
        File file = new File("path/to/your/video.mp4");
        try {
            MediaLocator mediaLocator = new MediaLocator(file.toURI().toURL());
            Player player = Manager.createPlayer(mediaLocator);
            player.prefetch();
            player.start();

            // Wait for the duration to be available
            while (player.getDuration().isUnknown()) {
                Thread.sleep(100);
            }

            Time duration = player.getDuration();
            System.out.println("Video Duration: " + duration.getSeconds() + " seconds");

            player.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 导入必要的包:我们使用了javax.media包中的类来处理视频文件。这个包是JMF(Java Media Framework)的一部分。
  2. 创建MediaLocator对象:通过视频文件的路径创建一个MediaLocator对象,它用于定位媒体资源。
  3. 创建Player对象:使用Manager.createPlayer方法创建一个播放器实例,并传入MediaLocator对象。
  4. 获取视频时长:调用player.getDuration()方法获取视频的时长。由于视频元数据可能需要一些时间加载,因此我们使用了一个简单的循环来等待时长信息可用。
  5. 输出结果:将视频时长以秒为单位打印出来。
  6. 关闭播放器:最后,关闭播放器以释放资源。

请注意,JMF是一个较老的框架,可能在某些现代环境中不被支持。如果遇到问题,可以考虑使用其他库如FFmpeg等。

上一篇:javaqueue

下一篇:java break跳出几层循环

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

jsonobject.tojavaobje

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站