Ich versuche, einen DraftJS-Editor zu implementieren, der Wörter in einer Transkription hervorhebt, während das aufgenommene Audio abgespielt wird (ähnlich wie Karaoke).
Ich erhalte die Daten in diesem Format:
%Vor% Ich mappe diese empfangenen Daten dann auf ContentBlocks
und initialisiere die ContentState
des Editors mit ihnen, indem ich ContentState.createFromBlockArray(blocks)
Es sieht so aus, als ob die "DraftJS" -Methode die Zeitstempel-Metadaten speichert, um ein Entity
für jedes Wort mit dem entsprechenden Zeitstempel zu erstellen und dann das currentContent
durchzuspielen, während das Audio abgespielt wird aktuelle verstrichene Zeit Aber ich bin mir nicht sicher, ob das der richtige Weg ist, um dies zu tun, da es bei großen Transkriptionen nicht performant wirkt.
Hinweis: Das Transkript muss editierbar bleiben, während diese Karaoke-Funktion beibehalten wird
Jede Hilfe oder Diskussion ist willkommen!
Ich habe genau das getan, was ich in der Frage beschrieben habe: Zeitstempel in DraftJS-Entitäten speichern. Nach ein paar weiteren Wochen mit DraftJS scheint dies der richtige Weg zu sein.
Tags und Links javascript architecture design draftjs