2009-06-15 114 views
0

我需要一些关于Silverlight中createobject函数的帮助。 我的xap文件接受一个视频网址并加载它播放。当我按照以下方式编写标签时,它工作正常。Silverlight.createobject未按预期工作?

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" 
width="100%" height="100%"> 
     <param name="source" value="ClientBin/VideoPlayer.xap"/> 
     <param name="onerror" value="onSilverlightError" /> 
     <param name="background" value="white" /> 
     <param name="minRuntimeVersion" value="2.0.31005.0" /> 
     <param name="autoUpgrade" value="true" /> 
     <param name="MediaSource" value="video.wmv" />   
    </object> 

虽然当我尝试使用Silverlight.createObject创建此对象时,它不播放任何视频。

Silverlight.createObject(
       "ClientBin/VideoPlayer.xap", 
       document.getElementById('silverlightHost'), 
       "slPlugin", 
       { 
        width: "400", height: "300", 
        background: "Black", 
        isWindowless: "true", 
        version: "2.0.31005.0", 
        alt: "fg" 
       }, 
       { onError: onSilverlightError }, 
       "MediaSource=video.wmv", 
       "context" 
      ); 

我在这里错过了一些愚蠢的东西。

回答

0

MediaSource不是标签的参数,所以我很惊讶这是工作,并假设它使用的是默认值,而不是你在使用时传递的内容,但我假设你的应用程序有一个initParam,你想设置。只有这篇文章很难说,但是如果你的应用有一个initParam,确保你使用了正确的命名参数。

0

有没有可能是这样的: -

<param name="MediaSource" value="video.wmv" /> 

应该是这样的: -

<param name="intiParams" value="MediaSource=video.wmv" /> 

0

我刚跑进同样的问题。 这是我如何解决它。将“MediaSource = video.wmv”替换为initParams:“MediaSource = video.wmv”以及比赛属性。

这将是完整的代码:

Silverlight.createObject(
      "ClientBin/VideoPlayer.xap", 
      document.getElementById('silverlightHost'), 
      "slPlugin", 
      { 
       width: "400", height: "300", 
       background: "Black", 
       isWindowless: "true", 
       version: "2.0.31005.0", 
       alt: "fg" 
      }, 
      { onError: onSilverlightError }, 
      initParams: "MediaSource=video.wmv", 
      context: "context" 
     ); 

我希望它能帮助:)