【问题标题】:Embed Resource a SWF Flash video Player in ASP?在 ASP 中嵌入资源 SWF Flash 视频播放器?
【发布时间】:2009-02-24 02:04:27
【问题描述】:

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

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

我正在获取 url,但是当我尝试按照 flowman 网站的说明在渲染的 标签中显示视频时。此外,我一直在研究其他可用的 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

【问题讨论】:

    标签: asp.net custom-controls flv flvplayback


    【解决方案1】:

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

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

    Google 搜索也有很多教程。试试Understanding ScriptResource and WebResource in ASP.NET

    【讨论】:

    • 好的,我会试试这个并告诉你结果。感谢您的帮助。
    • 是的,我做到了,我将它添加到程序集并尝试使用它,但它似乎需要一个可识别的文件名。网络######### 没有剪掉它。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 2011-11-01
      • 1970-01-01
      • 2011-10-08
      • 2021-09-17
      • 2014-12-09
      相关资源
      最近更新 更多