如何在silverlight中播放swf文件?

时间:2013-01-18 04:27:09

标签: c# silverlight silverlight-4.0 silverlight-5.0 silverlight-toolkit

我想在silverlight5页面播放.swf。我正在使用ListBox控件或Image Control 或任何想在Silvarlight中播放swf文件的想法

<Image Grid.Row="0" Name="bottom_video" Height="80" Source="{Binding VodeoUrl,Mode=OneWay}" Margin="0,20,0,0" /> 

4 个答案:

答案 0 :(得分:2)

您可能可以在每台Windows机器上使用随Flash播放器本身自动安装的Flash ActiveX控件,但如果它有效,它仍会带来很多限制,如here所述另一个问题将会出现是"Airspace" problem

另一种方法是使用this将SWF转换为XAML。但是我发现了很多无法转换的swf文件。特别是如果涉及很多ActionScript或动态加载内容。

答案 1 :(得分:1)

您可以在下面的代码中看到如何在Silverlight上使用Iframe:

<Grid x:Name="LayoutRoot">

        <HyperlinkButton Content="HyperlinkButton" Height="23" HorizontalAlignment="Left" Margin="44,20,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="100" TargetName="" Click="hyperlinkButton1_Click"  />

    </Grid>



code behind:



private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)        { 



HtmlDocument _document = HtmlPage.Document;


            HtmlElement iframe = _document.CreateElement("IFRAME");
            iframe.SetAttribute("src", "http://localhost:52878/TestForm.aspx");


            iframe.SetStyleAttribute("position", "absolute");
            iframe.SetStyleAttribute("top", "100px");
            iframe.SetStyleAttribute("left", "200px");
            HtmlElement body = (HtmlElement)_document.GetElementsByTagName("BODY")[0];
            body.AppendChild(iframe);

HtmlDocument _document = HtmlPage.Document;

            HtmlElement iframe = _document.CreateElement("IFRAME");

            iframe.SetAttribute("src", "http://localhost:52878/TestForm.aspx");

            iframe.SetStyleAttribute("position", "absolute");

            iframe.SetStyleAttribute("top", "100px");

            iframe.SetStyleAttribute("left", "200px");

            HtmlElement body = (HtmlElement)_document.GetElementsByTagName("BODY")[0];

            body.AppendChild(iframe);

}

答案 2 :(得分:1)

我已经得到了如何在Silverlight 5中播放swf文件的答案

 <WebBrowser Grid.Row="1" VerticalAlignment="Top" Source="{Binding VodeoUrl,Mode=OneWay}" Height="280" Width="280"/>

答案 3 :(得分:0)

这是不可能的。 Silverlight不播放swf文件。如果它只是一个没有任何交互的视频文件,您可以将视频转换为Silverlight可以播放的内容。以下是有关支持格式的一些信息:
http://msdn.microsoft.com/en-us/library/cc189080%28v=vs.95%29.aspx