Ich baue ein Werkzeug zum Abspielen von Audio, wo ich showing the wave image of the audio file sein werde.
Ein Tonbild würde wie folgt aussehen:Canvas vs SVG auf Audio-Wave-Bild-Interaktion
Die Benutzeroberfläche den gespielten Bereich in einer anderen Farbe als die noch nicht gespielt Bereich zeigen und auch in einem bestimmten Bereich vergrößern kann.
ich mit einer Leinwand tun könnte, und eine Opazität div als Schicht auf fügen Sie die gespielt/ungespielt Bereich zu zeigen, entsprechend die Position in dem Audio die left
Position zu ändern. Eine Alternative wäre es, jedes Mal neu zu rendern, wenn ein Positionsupdate dazu führt, dass im gespielten/ungespielten Bereich eine andere Farbe angezeigt wird.
Die Zoom-Möglichkeit in Canvas wäre ein Re-Render auch ich darlegen.
Ich könnte auch diese in SVG tun, und in diesem Fall würde der Zoom wahrscheinlich easyer sein, und das spielte Bereich zeigt, in stroke
Farbe der spezifischen path
oder line
eine Änderung wäre.
Meine Frage:
Ist dies ein Szenario, in die „beiden Optionen gültig sind“, oder soll ich den tecnologies über die andere verwenden, und warum?
Ich bin mir nicht sicher, die Verwendung einer Änderung in der Strichfarbe würde in Svg funktionieren, wie Sie wahrscheinlich alle einen Pfad sein möchten, in diesem Fall können Sie Strichfarben nicht mischen. Sie können jedoch dasselbe wie Ihren Leinwandvorschlag tun und eine Deckkraft mit Deckkraft haben. Persönlich würde ich schreiben und den Großteil des Codes als Bibliothek agnostisch wie möglich machen, so dass Sie versuchen können, andere Lösungen auszutauschen und Ihren Code nicht zu sehr umzuformen. Ich würde Svg über Canvas verwenden, wenn du eine gute Interaktion mit der Welle brauchst, aber es klingt nicht so, als würdest du das brauchen, also denke ich, dass beides in Ordnung wäre. – Ian