【问题标题】:How can I embed a swf object in a vb.net winform?如何在 vb.net winform 中嵌入 swf 对象?
【发布时间】:2012-08-01 10:47:56
【问题描述】:

我有一个 swf 对象,我想使用 COM Shockwave Flash 对象控件嵌入它。我四处搜索,但我只找到了涉及使用文件或互联网 URL 的答案。由于我使用的是一键式发布方法,我希望有一种方法可以将我的 flash 对象作为资源文件嵌入到我的应用程序中。

谢谢,

马特

【问题讨论】:

    标签: vb.net visual-studio-2010 flash embedded-resource


    【解决方案1】:

    我过去做过类似的事情,但从数据库表而不是资源加载

    Swf 是表单上的一个 AxShockwaveFlash 对象,用于显示 flash 项。

    如果您将资源添加为 .swf 并将 FileType 设置为二进制,则它应该将其作为字节数组返回,然后您可以在 memorystream 构造函数中使用它

    Using ms As New IO.MemoryStream(my.resources.TheFlashFile), fs As New IO.MemoryStream()
                    Using bwriter As New IO.BinaryWriter(fs)
                        ' Write length of stream for flash AxHost.State 
                        bwriter.Write(8 + ms.ToArray.Length)
                        bwriter.Write(&H55665566)
                        ' Length of flash movie file 
                        bwriter.Write(ms.ToArray.Length)
                        bwriter.Write(ms.ToArray)
                        fs.Seek(0, IO.SeekOrigin.Begin)
                        swf.OcxState = New AxHost.State(fs, 1, False, Nothing)
                    End Using
                End Using
    

    【讨论】:

    • 如果我的 swf 对象在 My.Resources.TheFlashFile 中,我将如何嵌入它?
    • 我已经更新了上面的答案,您只需在表单中添加一个 axShockwaveFlash 对象并将名称设置为 swf。
    • 我在同一个控件中切换了三个视频;我发现 AxShockwaveFlash 对象的许多属性(质量和菜单,对于初学者)在切换时会被重置。
    猜你喜欢
    • 2015-08-28
    • 2014-10-07
    • 1970-01-01
    • 2014-08-15
    • 2011-02-24
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    相关资源
    最近更新 更多