Я создаю инструмент для воспроизведения звука, где буду showing the wave image of the audio file.
аудио изображение будет выглядеть следующим образом:Canvas vs SVG при взаимодействии аудиоволн
Пользовательский интерфейс будет отображаться воспроизводимый область в другой цвет, как пока еще не играл области, а также быть в состоянии увеличить в конкретной области.
Я мог бы сделать это с помощью холста, и добавить непрозрачности DIV в качестве слоя на вершине, чтобы показать воспроизводимую/Unplayed области, меняя left
положения в соответствии с положением в аудио. Альтернативой может быть повторная визуализация каждый раз, когда обновление в позиции будет отображаться в цветном или неиграемом виде.
Возможность масштабирования в холсте будет повторной визуализацией, также я полагаю.
Я мог бы также сделать это в SVG, и в этом случае увеличение будет, вероятно, easyer, и показывая воспроизводимую область будет изменением цвета stroke
конкретного path
или line
.
Мой вопрос:
Является ли это сценарий, где «оба варианта являются действительными», или я должен использовать из Технологий над другой, и почему?
Я не уверен, что изменение цвета удара будет работать в svg, так как вы, вероятно, хотите, чтобы все это было одним путем, и в этом случае вы не можете смешивать цвета штриха. Однако вы можете сделать то же самое, что и предложение холста, и иметь наложение с непрозрачностью. Лично я хотел бы написать и сделать большую часть кода как агностик библиотеки, насколько это возможно, поэтому вы можете попробовать выполнить обмен в других решениях и не переделывать свой код слишком много. Я бы использовал svg over canvas, если вам нужно тонкое взаимодействие с волной, но это звучит не так, как вам нужно, поэтому я думаю, что все будет в порядке. – Ian