SVG可以使用javascript包含音频吗?

Sir*_*tyx 8 javascript audio svg

我有一个带有一些基本的javascript交互性的SVG,我也希望能够将一些音频放入其中.

澄清:

  • 这是针对SVG本身,而不是HTML中的内联
  • 我宁愿避免使用javascript库,但如果有必要,我可以.

有关如何实现这一目标的任何见解?

Rob*_*son 9

在SVG 1.2 Tiny中定义了SVG <audio><video>元素标记.Opera支持它们,但尚未有其他UA支持.

除了IE 9/10之外,大多数地方都可以使用的解决方案是使用<foreignObject>带有html <audio>元素的元素作为子元素.

如果您需要IE9/10支持,我不认为这是一个很好的答案,因为它不支持 <foreignObject>


Eri*_*röm 8

如果您需要支持HTML5音频的浏览器,则可以将音频元素放在svg中(对音频元素及其子元素使用XHTML命名空间).上次我尝试它不需要foreignObject包装器.这是一个展示如何做到这一点的例子(适用于chrome,firefox和opera).

也可以使用javascript创建HTML5音频元素并在SVG中使用它们.