Tệp Mp3 có thể được xử lý bằng cách sử dụng mp3 SPI support này, nhưng tôi không tìm thấy thứ gì đó tương tự như tệp mp4.Có một API Java cho các tệp mp4 không?
Mọi trợ giúp sẽ được đánh giá cao.
--UPDATE
Những gì tôi muốn làm là có được kích thước của tập tin, như tôi đã làm với các file wave sử dụng mã này:
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long audioFileLength = file.length();
int frameSize = format.getFrameSize();
float frameRate = format.getFrameRate();
float durationInSeconds = (audioFileLength/(frameSize * frameRate));
--ANSWER
Dưới đây là câu trả lời mã sử dụng gợi ý của @mdma (IBM toolkit):
/**
* Use IBMPlayerForMpeg4SDK to get mp4 file duration.
*
* @return the mp4File duration in milliseconds.
*/
public static long getMp4Duration(File mp4File) throws IllegalStateException, IOException {
PlayerControl playerControl = PlayerFactory.createLightweightMPEG4Player();
playerControl.open(mp4File.getAbsolutePath());
long mili = playerControl.getDuration();
// int sec = (int) ((mili/1000) % 60);
// int min = (int) ((mili/1000)/60);
// System.out.println("IBM Tookit result = " + min + ":" + sec);
return mili;
}
-
liên quan, ngôn ngữ độc lập, câu hỏi: Anyone familiar with mp4 data structure?
Dự án mp4parser không có svn hoặc tải xuống. Tôi đang thử với JMF + Jffmpeg, nhưng tôi đang gặp khó khăn với nó. –
@Tom - Các nguồn mp4parser đang có - Tôi vừa kiểm tra các nguồn từ http://mp4parser.googlecode.com/svn/trunk/ – mdma
@TomBrito Tôi thực sự đang cố gắng, nhưng dự án này quá nghèo trong tài liệu .. –