xslt通过xml播放mp3

时间:2009-09-10 10:01:12

标签: xml xslt mp3

我有一个xml Feed,我需要从Feed中播放一个mp3。我已经设置了播放器

<div class="musicplayer">
  <div id="musicplayercontainer060251712481gbakw0201569t"></div>
    <script type="text/javascript">
       var flashvars = {file:"music/betty.mp3",as:"0"};
       var params = {wmode: "transparent"};
       var attributes = {};
       swfobject.embedSWF("images/player.swf",  
       "musicplayercontainer060251712481gbakw0201569t", "23", "23", 
       "9.0.0","expressInstall.swf", flashvars, params, attributes);
    </script>
</div>

如果我直接传递mp3,它可以正常工作,但我必须从xml传递它,所以我用<xsl:value-of select="clipUrl"/>替换了betty.mp3,但它不会播放。

就像我替换betty.mp3一样

<div class="musicplayer">
  <div id="musicplayercontainer060251712481gbakw0201569t"></div>
    <script type="text/javascript">
       var flashvars = {file:"<xsl:value-of select="clipUrl"/>",as:"0"};
       var params = {wmode: "transparent"};
       var attributes = {};
       swfobject.embedSWF("images/player.swf",
       "musicplayercontainer060251712481gbakw0201569t", "23", "23",
       "9.0.0","expressInstall.swf", flashvars, params, attributes);
    </script>
</div>

我需要使用哪种语法?
e.g。

var flashvars = {file:"<xsl:value-of select="clipUrl"/>",as:"0"};

1 个答案:

答案 0 :(得分:0)

就个人而言,如果你没有任何基于XHTML的expando hangups,你可以这样做: -

<div class="musicplayer">
  <div id="musicplayercontainer060251712481gbakw0201569t"
      audioSrc="{clipUrl}"
  ></div>
  <script type="text/javascript">
    var elem = document.getElementById("musicplayercontainer060251712481gbakw0201569t");
    var flashvars = {file:elem.getAttribute("audioSrc"), as:"0"};
    var params = {wmode: "transparent"};
    var attributes = {};
    swfobject.embedSWF("images/player.swf", "musicplayercontainer060251712481gbakw0201569t", "23", "23", "9.0.0","expressInstall.swf", flashvars, params, attributes);
  </script>
</div>

这样您就不会在脚本代码中嵌入xsl指令,其中输出编码可能会搞乱。

相关问题