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();
}
}
}
javax.media包中的类来处理视频文件。这个包是JMF(Java Media Framework)的一部分。MediaLocator对象:通过视频文件的路径创建一个MediaLocator对象,它用于定位媒体资源。Player对象:使用Manager.createPlayer方法创建一个播放器实例,并传入MediaLocator对象。player.getDuration()方法获取视频的时长。由于视频元数据可能需要一些时间加载,因此我们使用了一个简单的循环来等待时长信息可用。请注意,JMF是一个较老的框架,可能在某些现代环境中不被支持。如果遇到问题,可以考虑使用其他库如FFmpeg等。
上一篇:javaqueue
下一篇:java break跳出几层循环
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站