MP3 ファイルは、このmp3 SPI サポートを使用して処理できますが、mp4 ファイルに似たものは見つかりません。
どんな助けでも大歓迎です。
- アップデート
私がやりたいことは、次のコードを使用して wave ファイルで行うように、ファイルのサイズを取得することです。
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));
- 答え
@mdma (IBM ツールキット) のヒントを使用した回答コードは次のとおりです。
/**
* 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;
}
--
関連、言語に依存しない、質問: mp4 データ構造に詳しい人はいますか?