Y a-t-il une API Java pour les sous-titres SRT? P>
4 Réponses :
L'analyse réelle SRT est effectuée à travers des expressions régulières, que Java est capable de manipuler.
La réégycle réelle est la suivante: p> groupe 2, 3, 4, et 5 est l'heure de début
Le groupe 6, 7, 8 et 9 est le temps de finition
Le groupe 11 est le texte de sous-titre p> p>
Merci! Pouvez-vous expliquer ce qui est: "(x1: \\ d. *?) ??" pour?
Il y a aussi une erreur - "\\ n" au lieu de "\\\n". Et il est encore préférable de remplacer cela par "\\ r? \\ n" (pour fonctionner à la fois sur Windows et UNIX) comme expliqué ici
Où avez-vous vu le modèle "\\ n"? Maintenant, à propos du personnage \ r, je dirais que vous avez raison, mais pour une raison, je ne peux pas expliquer dès maintenant, même s'il y a des caractères \ r dans le fichier, ce modèle correspond et produit des résultats corrects!
J'ai produit une logique Java avec laquelle pour analyser et lire différents formats de sous-titres, parmi lesquels est le populaire SRT: vous pouvez trouver le code licencié sous licence Open Source (gratuitement à utiliser quelque chose) dans mon référentiel Git: < / p>
https://github.com/jdaren/subtititleconverter P>
Vous avez probablement besoin de classes de base et de la classe SRTFormat, et vous pouvez lire des fichiers SRT à partir d'une entrée d'intrigue ou obtenir des fichiers à chaîne [] complètes une fois que vous avez fini de les modifier. P>
Si vous trouvez cela utile ou je peux vous aider avec n'importe quoi s'il vous plaît contactez-moi. P>
PS: (autres formats pris en charge, partiellement ou entièrement sont .ass .ssa .sa .stl .scc et .xml (de la TTAF-DFXP de W3C également connu sous le nom de TTML 1.0) P>
EDIT: P>
Vous pouvez trouver la logique au travail dans www.subtitleconverter.net P>
Doit être amélioré. Classe vide (E.G. Région Code>) et Catching
NullPointException code> s ne sent pas bien.
La région de @Akapelko est une fonctionnalité future (c'est pourquoi son vide) pour d'autres formats (pour définir les sous-titres quelque part sur l'écran), SRT n'offre aucune disposition de toute nature. NullpointerException pourrait survenir sur des cas étranges, jusqu'à présent, la plupart ont été corrigés pour rechercher d'abord NULL ou initialiser la variable avec la taille 0. Mais vous avez raison de faire face à une réfraction serait bien ... toujours pour SRT fonctionne très bien.
Yay très bonnes choses :))))))
En réalité la regex modifiée de remplacer @Panayotis code> qui prend en charge le texte de sous-titres multilignes est comme ceci:
([^ \\ |] *?) code> avec n'importe quel caractère qui ont moins de probabilité de venir en tant que texte sous-titre. J'ai actuellement utilisé "|" règle de négation de caractère. p> p>
Utilisez ((. | \\ n) *?) Code> au lieu de
([^ \\ |] *?) Code> Il n'y aura donc pas d'exceptions.
Il existe une autre API de base (et open source) qui peut traiter avec SRT et Ass sous-titres ici
analyse SRT: p>