Centre d‘Information

Format de la Durée des Fichiers Audio et Vidéo

La recréation des fichiers audio et des fichiers vidéo peut être affichée et sortiée dans des programmes tels que le FilelistCreator et à l'avenir également dans l'AudioPlayer de manière flexible. Cela vous permet d'adapter la colonne avec la durée de vos listes de fichiers et de vos listes de lecture individuellement et comme demandé.

Le format respectivement la représentation des jours, des heures, des minutes, des secondes et des millisecondes peut être spécifiée via un masque de format tel que "m:ss" (minutes:secondes). Dans ce didacticiel, nous examinons toutes les possibilités de ce masque, comme la sortie des zéros de tête, la définition de composants temporels facultatifs, le traitement des composants de temps manquants ainsi que l'utilisation des lettres significatives en tant que telles et vous montrent quelques exemples d'application à la fin du tutoriel. Cependant, nous aimerions commencer par la liste de tous les espaces réservés fondamentalement disponibles.

Espaces Réservés Généraux

Généralement, le FilelistCreator et l'AudioPlayer offrent cinq espaces réservés différents sous la forme de lettres qui représentent dans le masque de format les jours, les heures, les minutes, les secondes et les millisecondes et peuvent être utilisés dans n'importe quel ordre:

Espace RéservéSignification
dJournées
hHeures
mMinutes
sSecondes
vMillisecondes

Ces espaces réservés peuvent être combinés dans le masque de format avec d'autres caractères. Ainsi, par exemple, avec un côlon comme dans "h:mm" pour l'affichage des heures et des minutes. Dans ce processus, vous ne vous limitez pas seulement aux caractères ASCII, mais vous pouvez également utiliser et profiter de la sélection inépuisable de caractères Unicode arbitraires. Si vous souhaitez utiliser l'une de ces lettres significatives en tant que telles, sans être remplacé par le composant temporel correspondant, vous devez échapper cette lettre. Vous pouvez découvrir comment cela fonctionne dans la section sur l'échappement.

Zéros de Tête

Afin de pouvoir rédiger des périodes de temps comme 1 heure et 10 minutes ainsi que 1 heure et 1 minute justifiée sous les uns des autres sous une liste, l'utilisation de zéros de premier plan est une bonne approche. La durée d'une heure et une minute ne devrait idéalement pas être représentée comme "1:1" mais comme "1:01", de sorte que le côlon est au même endroit que avec des valeurs de minutes à deux chiffres telles que "1:10".

Vous pouvez atteindre des zéros de premier plan en répétant l'espace réservé respectif dans le nombre de zéros de tête souhaités, y compris la valeur correspondante. Vous pouvez implémenter l'exemple du dernier paragraphe avec le masque de format "h:mm" - la partie heure est écrite sans zéros de premier plan, la partie minute est portée à au moins deux endroits avec des zéros de premier plan. Si vous écrivez "h:m" à la place, le résultat serait "1:1" au lieu de "1:01". Bien sûr, vous pouvez également remplir plus de deux endroits avec des zéros de premier plan, ainsi que les exemples du tableau suivant montrent:

Masque1 Minute10 Minutes100 Minutes1000 Minutes
m1101001000
mm01101001000
mmm0010101001000
mmmm0001001001001000
h:m0:10:101:4016:40
h:mm0:010:101:4016:40
h:mmm0:0010:0101:04016:040
hh:mm00:0100:1001:4016:40
hhh:mm000:01000:10001:40016:40
h:mm:ss0:01:000:10:101:40:0016:40:00

Dans les quatre premières séries d'exemples de table, vous pouvez voir comment les masques "m", "mm", "mmm" et "mmmm" affectent diverses déclarations des minutes de longueur différentes. Dans chacun des exemples, le nombre total de minutes est sortie, mais en fonction de la quantité de m, le nombre de zéros principaux change et varie si les zéros principaux sont utilisés.

Cela fonctionne non seulement pour les espaces réservés individuels, mais aussi pour les combinaisons d'espaces réservés, comme le montrent dans les lignes suivantes de la table, dans lesquelles le nombre de zéros de premier plan de la composante des heures et la composante des minutes sont variés. Enfin, le masque "h:mm:ss" montre un exemple très typique de l'affichage des heures, des minutes et des secondes à l'aide de pièces avec des zéros de tête.

Les exemples indiqués dans le tableau montrent également ce qui se passe lorsque le nombre à présenter a plus de positions que le nombre d'espaces réservés répétés. Dans ce cas, le temps n'est pas coupé, mais toujours complètement montré en pleine longueur, même s'il dépasse la limitation supposée des lieux.

Spécifications de Temps Facultatives

Nous ne voulons pas toujours produire tous les éléments d'un masque de format. Laissez-nous, à titre d'exemple, prenez le cas que nous aimerions afficher des temps de plus d'une heure dans le format "h:mm:ss", mais pour des temps de moins d'une heure, la partie avec l'heure ne doit pas être affichée. Donc, nous aimerions voir des temps tels que 1:00:00, 30:00 et 0:15 dans notre liste. Si nous utilisons le masque "h:mm:ss" pour cela, les résultats de ces heures seraient 1:00:00, 0:30:00 et 0:00:15 - nous recevrions beaucoup de zéros de premier plan indésirables. Cependant, si nous omerions les heures et nous utiliserions à la place le masque "m:ss", le résultat à nouveau ne correspondrait pas à l'idée souhaitée: cette fois, 30:00 et 0:15 serait comme vous le souhaitez, mais un temps d'une heure serait représentée comme 60:00 parce que nous n'utilisons plus l'espace réservé "h" et donc les heures seraient comptées à les minutes.

Afin de réaliser cette distinction et de définir des composants facultatifs en le masque de format, nous pouvons utiliser des lettres en minuscules et des lettres en majuscules dans le masque de format. Tous les deux lettres h et H peuvent être utilisées pour afficher les heures. Cependant, toujours avec h, mais uniquement lorsque le nombre d'heures est supérieur à zéro avec H.

Afin d'implémenter l'exemple mentionné au début, nous pourrions par exemple utiliser le masque de format "H:Mm:ss". Avec les majuscules, nous définissons que les informations sur le nombre d'heures ainsi que le premier zéro leader du fragment minute sont facultatifs et ne devraient être sortis que si nécessaire. Cependant, la deuxième place du fragment minute ne doit pas être facultative et toujours montrée, même si elle est 0 - enfin, nous aimerions obtenir 0:15 pour une période de 15 secondes. Si nous travaillions avec le masque "H:mm:ss" à la place, les deux lieux des minutes ne seraient pas facultatifs et nous recevrions 00:15 comme sortie pour les 15 secondes. Si vous travailliez avec le masque "H:MM:ss", Nous obtiendrions seulement "15" pour 15 secondes, car les deux taches des minutes sont définies comme facultatives avec les majuscules et ne sont donc pertinentes que pendant plus de 59 secondes. Le résultat pour tous ces masques est identique pour les temps sur au moins une heure.

Dans le tableau suivant, nous avons contrasté les exemples mentionnés dans le texte pour vous clairement arrangé:

Masque1 Heure30 Minutes15 Secondes
h:mm:ss1:00:000:30:000:00:15
m:ss60:0030:000:15
mm:ss60:0030:0000:15
H:mm:ss1:00:0030:0000:15
H:Mm:ss1:00:0030:000:15
H:MM:ss1:00:0030:0015

D'autres exemples d'utilisation pour les composants temporels facultatifs pour différentes durées peuvent être trouvés à la fin de ce didacticiel dans la section "Exemples".

Utilisation des Lettres Significatives en tant que telles

Même si dans nos exemples précédents, nous avons toujours utilisé le côlon comme délimiteur entre les parties temporelles individuelles, tout autre caractère et lettre peuvent également être utilisés dans le masque de format et peuvent donc être combinés avec les espaces réservés pour les composants temporels. Mais comment une lettre qui sert également comme espace réservé peut-elle être utilisée en tant que telle sans être remplacée par les informations de temps qu'elle représente? Comment dire au FilelistCreator ou à l'AudioPlayer qu'une certaine lettre devrait être conservée?

Jetons un coup d'œil à l'exemple suivant. Nous ne voulons pas simplement formater notre durée comme "h:mm:ss" ou similaires, mais utilisez le texte suivant comme masque de format:

h heures - m minutes - s secondes

Cependant, pour une durée de 7384 secondes (2:03:04) par exemple, nous obtiendrions le résultat désagréable suivant avec ce masque de format:

2 2eure4 - 3 3inute4 - 4 4econ0e4

Non seulement nos espaces réservés séparés h, m et s ont été remplacés par leurs équivalents temporels, mais aussi toutes les occurrences des lettres respectives dans les mots "heures", "minutes" et "secondes", que nous voulions réellement conserver comme telles.

La solution à ce problème est l'échappement. Si nous ne voulons pas remplacer une lettre par une information temporelle, nous pouvons mettre une apostrophe devant cette lettre. Chaque caractère derrière une apostrophe reste intact et n'est pas remplacé. Donc, au lieu de notre première approche, nous écrivons ce qui suit comme masque de format:

h 'heure's - m 'minute's - s 'secon'de's

Et donc recevoir notre résultat souhaité:

2 heures - 3 minutes - 4 secondes

Les caractères qui n'ont pas de sens en tant que marqueur de position pour un composant temporel n'ont pas à être échappé et peuvent simplement être écrits comme tels dans le masque de format. C'est la même manière que nous avons déjà utilisé le côlon dans les autres exemples.

Spécifications de Temps Manquantes

Peut-être que vous vous avez déjà demandé ce qui se passe lorsque des pièces de temps théoriquement requises ne se produisent pas dans un masque de format. À titre d'exemple, considérons une durée d'une heure, dix minutes et dix secondes et le masque "m:ss". Bien que notre durée va au-delà des minutes, nous n'offrons pas le FilelistCreator ou l'AudioPlayer un espace réservé pour les heures, comme ce serait, par exemple, en utilisant le masque "h:mm:ss". Que se passe-t-il dans ce cas? Sont les heures coupées?

Non. Le résultat sera 70:10 (70 minutes et 10 secondes). Étant donné que la composante minute est la plus grande unité possible de ce masque, des unités plus grandes, telles que les heures et les jours, sont ajoutées à ce composant. Nous obtenons donc 1 heure (60 minutes) + 10 minutes = 70 minutes.

Vous pouvez également utiliser cette fonctionnalité pour afficher la durée des fichiers audio et des fichiers vidéo dans une seule unité. Par exemple, si nous utilisons le masque "s", la durée sera affichée seulement en secondes. Pour l'exemple ci-dessus, ce serait "4210", soit 1 heure (3600 secondes) + 10 minutes (600 secondes) + 10 secondes. Avec le masque "v", nous recevons la durée en millisecondes, le résultat serait 4210000 (4210 secondes * 1000).

Moins pertinent dans la pratique serait un masque comme "h:s", dans lequel nous déposons des heures et des secondes, mais pas des minutes. Cependant, par souci d'exhaustivité, nous voulons également jeter un bref regard sur cette affaire. Pour notre exemple, le résultat serait "1:610". L'heure est affichée avec le "h", tandis que les 10 minutes manquantes (600 secondes) sont ajoutées à la proportion de secondes afin de ne pas les oublier. Un repos restant est donc toujours ajouté au plus grand composant temporel possible.

Jusqu'à présent, nous avons examiné ce qui se passe lorsque nous omettons des composants temporels vers le haut et au milieu. Mais que se passe-t-il dans l'autre direction? Que se passe-t-il si nous laissons de côté les fragments de temps plus petits tels que les secondes? Dans ce cas, des informations plus petites possibles sont simplement laissées de côté et coupées. Si nous utilisons le masque "m" pour notre exemple d'une heure, dix minutes et dix secondes, le résultat serait "70" (1 heure = 60 minutes + 10 minutes) et les 10 secondes seraient coupées. Si nous utilisons le masque "h", non seulement les secondes mais aussi les minutes sont coupées et nous recevons le résultat "1" (1 heure). Si le masque "d" est utilisé, le résultat serait même "0": puisque nous n'avons pas une durée d'au moins 24 heures nécessaire pour une journée avec notre durée d'une heure, dix minutes et dix secondes, la partie de jour est à "0" et comme nous n'offrons pas d'unités plus petites dans notre masque de format que la partie du jour, toutes les unités plus petites telles que les heures, les minutes et les secondes sont complètement coupées et elle reste "0". Il n'est pas non plus arrondi dans un tel cas, donc même 23 heures seraient de 0 jours.

Cette pratique a déjà été utilisée dans tous nos exemples précédents sans la remarquer: puisque nous n'avons pas utilisé l'espace réservé "v" représentant les millisecondes d'une durée avec les secondes, les minutes ou les heures dans n'importe quel exemple, la proportion des millisecondes a toujours été inaperçue.

Masque1 heure, 10 minutes et 10 secondes
h:mm:ss1:10:10
m:ss70:10
h:s1:610
d0
h1
m70
s4210
v4210000

Dans ce tableau, nous avons à nouveau résumé les exemples mentionnés dans le texte comme une juxtaposition contrastée.

Exemples

Enfin, nous aimerions voir quelques exemples qui résument le contenu des sections individuelles de ce didacticiel et donnent une impression de la façon dont les différents temps sont représentés dans différents formats. Dans les colonnes de la table, vous trouverez différentes durées de temps en secondes et millisecondes ainsi que la représentation respective avec différents masques de format dans les lignes de la table.

Masque1s10s100s1,000s10,000s100,000s111,111ms
hh:mm:ss00:00:0100:00:1000:01:4000:16:4002:46:4027:46:4000:01:51
h:mm:ss0:00:010:00:100:01:400:16:402:46:4027:46:400:01:51
H:mm:ss00:0100:1001:4016:402:46:4027:46:4001:51
H:Mm:ss0:010:101:4016:402:46:4027:46:401:51
H:MM:ss01101:4016:402:46:4027:46:401:51
H:MM:Ss1101:4016:402:46:4027:46:401:51
h:mm0:000:000:010:162:4627:460:01
m:ss0:010:101:4016:402:46:4027:46:401:51
mm:ss00:0100:1001:4016:402:46:4027:46:4001:51
d:hh:mm:ss0:00:00:010:00:00:100:00:01:400:00:16:400:02:46:401:03:46:400:00:01:51
D:HH:Mm:ss0:010:101:4016:402:46:401:03:46:401:51
s:vvv1:00010:000100:0001000:00010000:000100000:000111:111
m:ss:vvv0:01:0000:10:0001:40:00016:40:0002:46:4027:46:40:0001:51:111
mm:ss:vvv00:01:00000:10:00001:40:00016:40:0002:46:4027:46:40:00001:51:111
'm'm:ssmm:01mm:10mm:100mm:1000mm:10000mm:100000mm:111
h:s0:10:100:1000:10002:280027:28000:111
d:v0:10000:100000:1000000:10000000:100000001:136000000:111111
d:m:v0:0:10000:0:100000:1:400000:16:400000:166:400001:226:400000:1:51111
d0000010
h00002270
m0011616616661
s110100100010000100000111
v100010000100000100000010000000100000000111111

Avant tout, vous pouvez voir dans le tableau différents masques de format pour des heures, des minutes et des secondes avec différents nombres de zéros de premier plan ainsi que des composants temporels fixes et facultatifs. Ceci est suivi par des masques similaires sans heures ainsi que des démonstrations de présentation de jours et de millisecondes.

Dans la ligne avec le masque "'m'm:ss", il suit une démonstration de l'échappement des espaces réservés. Les lettres m et m ne doivent pas être remplacées par la composante minute mais restent en tant que telle. Le résultat montre comment la proportion de minutes est incluse dans la pièce montrant les secondes comme la seule composante temporelle de ce masque et chaque résultat commence par "mm:".

Les trois lignes suivantes avec les masques de format "h:s", "d:v" et "d:m:v" démontrent ce qui se passe lorsque les espaces réservés sont laissés entre une unité plus petite et plus grande. Dans le cas de ce manque de pièces de temps, la part de temps préoccupante est ajoutée à la prochaine unité plus petite possible. Lorsque vous utilisez le masque "h:s", les minutes sont affectées aux secondes, lors de l'utilisation du masque "d:v" les heures, les minutes et les secondes sont ajoutées aux millisecondes et lors de l'utilisation du masque "d:m:v" les heures seront ajoutées aux minutes et les secondes seront ajoutées aux millisecondes.

Enfin, le tableau montre tous les espaces réservés disponibles seuls et sans combinaison avec d'autres espaces réservés ou des caractères. Pour tous ces masques de format, le tableau montre le résultat pour 1 seconde, 10 secondes, 100 secondes, 1 000 secondes, 10 000 secondes, 100 000 secondes et 111 111 millisecondes.