0

我正在尝试为嵌入了 swf 对象的Flow Player flv 播放器做一个 ASP.net 自定义控件。通过Steve Orr Controls,我了解到您可以嵌入 javascript 文件并注册它们,因此您不必总是手动添加 javascript 文件。我想知道这是否适用于 SWF 文件。

我一直在网上阅读,我想弄清楚我是否疯狂地寻找无法完成的事情?或者我假设我可以使这个 XXYYWW122313 URL 有用?

我正在获取 url,但是当我尝试按照 flowman 站点的说明在渲染的 < A > 标签中显示视频时。此外,我一直在研究其他可用的 flv 播放器,但问题仍然在于如何嵌入 swf flash 视频播放器和使用 webresource url。

简而言之,我正在做的是以下内容:

   Imports System.Web
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.ComponentModel
<DefaultProperty("FlowPlayer"), ToolboxData("<{0}:FlowManHlp runat=server></{0}:FlowManHlp>")> _
Public Class FlowManHlp
    Inherits Control

    Private flowPlayerPath As String
    Private flowPlayerJSPath As String



    Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
        MyBase.OnPreRender(e)

        If Me.DesignMode Then Exit Sub

        Dim rstype As Type = Me.GetType
        Dim rsname As String = "FlowMan_Helper.Resources.flowplayer-3.0.5.min.js"

        ' Register the client resource with the page.
        Dim cs As ClientScriptManager = Page.ClientScript
        cs.RegisterClientScriptResource(rstype, rsname)
        'cs.RegisterClientScriptResource(rstype, "FlowMan_Helper.Resources.flowplayer-3.0.5.swf")


    End Sub

    Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
        Dim htmlwrite As New System.Text.StringBuilder()
        htmlwrite.Append("<a href=""http://blip.tv/file/get/KimAronson-TwentySeconds73213.flv""")
        htmlwrite.Append(" Style = ""display:block;width:400px;height:300px""")
        htmlwrite.Append(" id=""player""></a>")

        htmlwrite.Append(vbCrLf & "<script>")
        htmlwrite.Append(vbCrLf & "flowplayer(""player"", """ & flowPlayerPath & """ );")
        htmlwrite.Append(vbCrLf & "</script>")
        htmlwrite.Append(vbCrLf & "<script>")
        htmlwrite.Append(vbCrLf & "HelloWorld();")
        htmlwrite.Append(vbCrLf & "</script>")

        '      <script>
        '   flowplayer("player", "../flowplayer-3.0.5.swf");
        '</script>
        writer.Write(htmlwrite.ToString())
    End Sub

    Private Sub FlowManHlp_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        flowPlayerPath = Page.ClientScript.GetWebResourceUrl(Me.GetType(), "FlowMan_Helper.Resources.flowplayer-3.0.5.swf")
        flowPlayerJSPath = Page.ClientScript.GetWebResourceUrl(Me.GetType(), "FlowMan_Helper.Resources.flowplayer-3.0.5.min.js")

        flowPlayerPath = ResolveClientUrl(flowPlayerPath)

    End Sub
4

2 回答 2

1

您是否确保将嵌入式资源标记为解决方案的“嵌入式资源”,以便将其与编译代码捆绑在一起?

此外,切换到 WebResource 而不是 ScriptResource。

Google searches have a lot of tutorials too. Try Understanding ScriptResource and WebResource in ASP.NET

于 2009-03-09T14:11:41.100 回答
0

我发现这是可以做到的,因为http://www.aspnetflash.com/上的人在拖放到网站区域时不会添加单独的 swf 文件。我决定改用他们的工具。我尝试了 JW Player 和 FlowPlayer,还有另一个独立的 SWF。当我在 ASP 网页中使用它们时,它总是出现空白,每个路径都设置正确。我还将 mime 类型添加到 IIS 服务器和默认网站。我尝试了一些网站上提到的 HTTP 处理程序 FlashSomething,但没有运气。

于 2009-03-02T19:07:35.707 回答