Comment obtenir la longueur d'un fichier audio avec Java

Comment obtenir la longueur d'un fichier audio

Expliquez brièvement le contexte

Utilisez l'API de messagerie LINE pour obtenir la durée du fichier vocal lors de la liaison * du compte LINE officiel avec notre outil de chat de service Web appelé Channel Talk. Au fait, j'ai trébuché, alors partagez-le.

Afin de synchroniser le fichier audio téléchargé par Channel Talk avec le compte officiel LINE afin qu'il puisse être vu du côté de l'utilisateur final, le fichier audio est envoyé à l'API de messagerie, mais la longueur du fichier audio doit également être envoyée.

Méthode de mise en œuvre

Cependant, il n'y a pas d'API pour obtenir la longueur de ce fichier audio à partir du fichier.

Mais la méthode est simple. Vous pouvez le mettre en œuvre vous-même. Il peut être calculé à partir du nombre total d'images pouvant être obtenues à partir du fichier audio et de la fréquence d'images.

File file = new File(fileUrl);

try {
    //Préparation à l'obtention des métadonnées du fichier audio
    AudioInputStream stream = AudioSystem.getAudioInputStream(file);

    //Nombre total d'images pour le fichier audio
    long length = stream.getFrameLength();
    AudioFormat format = stream.getFormat();

    // frame ->Nombre d'images traitées par seconde
    float frame = format.getSampleRate();
    //Nombre total d'images ➗ Nombre d'images traitées par seconde=longueur
    int duration = (int)(length/frame);

} catch (UnsupportedAudioFileException e) {
    return false;
}

J'aurais peut-être dû le faire depuis le début sans rien chercher. .. .. C'était plus facile que ce à quoi je m'attendais!

Recommended Posts

Comment obtenir la longueur d'un fichier audio avec Java
Comment obtenir la date avec Java
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
[Java] Comment obtenir la valeur maximale de HashMap
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
Comment obtenir le nom d'une classe / méthode exécutée en Java
Une version Java non prise en charge Comment se débarrasser des erreurs
Comment dériver le dernier jour du mois en Java
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java
Obtenez le résultat de POST en Java
[Java] Comment obtenir le répertoire actuel
[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
Obtenez l'URL publique du fichier privé de Flickr en Java
Comment incrémenter la valeur de Map sur une ligne en Java
Comment spécifier un tableau pour la valeur de retour / l'argument d'une méthode dans le fichier IDL CORBA
Comment obtenir une classe depuis Element en Java
Comment obtenir le jour d'aujourd'hui
Comment résoudre les problèmes d'expression en Java
[Java] Comment obtenir l'URL redirigée finale
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
Comment savoir quelle version Java d'un fichier de classe a été compilée
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Comment trouver le nombre total de pages lors de la pagination en Java
Comment créer votre propre annotation en Java et obtenir la valeur
Obtenez l'URL de la destination de la redirection HTTP en Java
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
[Java] Comment omettre le constructeur privé dans Lombok
Comment écrire Scala du point de vue de Java
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
[Java] Comment extraire le nom du fichier du chemin
Source utilisée pour obtenir l'URL de la source de redirection en Java
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream
À partir d'avril 2018 Comment installer Java 8 sur Mac
[Android] Comment obtenir la langue de réglage du terminal
Comment convertir un fichier en tableau d'octets en Java
[Rails] Comment obtenir le contenu des paramètres forts
Résumé de la mise en œuvre des arguments par défaut en Java
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
[Swift] Comment obtenir l'ID de document Firebase
[Rails] Comment afficher les images dans la vue
Exemple de code pour obtenir les valeurs de type SQL clés dans Java + MySQL 8.0
Que faire si vous ne pouvez pas obtenir le texte d'un élément dans Selenium
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
Comment utiliser git avec la puissance de jgit dans un environnement sans commandes git
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
[Java] Comment afficher les jours acquis par LocalDate et DateTimeformatter en japonais
Résumé de l'utilisation du jeu de proxy dans IE lors de la connexion avec Java
Accédez à l'abréviation à partir de 5 exemples de listes Java en italique
Comment récupérer la valeur de hachage dans un tableau dans Ruby
Comment obtenir les informations les plus longues de Twitter à partir du 12/12/2016
Comment ajouter des éléments sans spécifier la longueur du tableau
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Comment modifier le contenu du fichier jar sans décompresser
Comment changer Java à l'ère d'OpenJDK sur Mac