2015-11-09 3 views
-1

J'ai créé un programme FileChooser qui obtient le chemin d'accès aux fichiers .wav, mais je souhaite ajouter une autre condition. Je veux seulement obtenir le chemin de fichier des fichiers wav qui a un maximum de 5 minutes. Comment puis-je faire cela?Vérification de la durée du fichier audio en java

Répondre

0

Vous pouvez le faire en connaissant la taille du fichier en Mo, puis en connaissant le débit du fichier. Suivez-moi sur cet exemple MP3:

MP3 Filesize: 3.89MBytes 
Bitrate: 128Kbits 

Convertir Moctets à Kbits:

3.89Mbytes * 1024 = 3983Kbytes 
3989Kbytes * 8 = 31866Kbits 

Kbits Convertir à Longueur:

31866Kbits/128Kbits per second = 249 seconds 
249 seconds/60 seconds = 4.19 Minutes 

Notez qu'il est toujours pas une représentation exacte de la durée et vous devrez tenir compte d'une certaine variance dans le calcul.

+0

N'y a-t-il pas un moyen plus court? comme getduration() ou quelque chose? –

+0

Non, mais vous pouvez créer votre propre méthode 'getDuration()' avec les maths que je vous ai fournis. –

+0

Ce que je veux dire est oui bien sûr, je peux obtenir le filesize et le bitrate d'audios par audioinputstream mais ce que je veux, c'est obtenir la taille de fichier et le débit d'un audio avec juste le chemin du fichier. Mais comment? –