c# - JW Player 无法显示通过文件处理程序 (.ashx) 提供的 flv

标签 c# asp.net flv jwplayer ashx

我正在尝试通过 ashx 页面将 flv 文件加载到 JWPlayer 中。但是我总是收到以下错误:

Task Queue failed at step 5: Playlist could not be loaded: Playlist file did not contain a valid playlist

如果我直接在 Firefox 中加载 ashx 页面,视频将加载并自动播放。如果我将 flvplayer 更改为直接指向 flvfile,它就可以正常工作。所以我对问题是什么感到有些困惑!我注意到的一件事是,当直接通过浏览器播放时,ashx 页面后面的代码运行了两次,第二次没有可用的 session 变量,尽管 Fiddler 只检测到来自浏览器的一个请求。 JWPlayer调用ashx页面时,代码只执行一次。

如有任何帮助,我们将不胜感激!

<%@ WebHandler Language="C#" Class="CourseVideoHandler" %>

using System;
using System.Web;
using System.Web.SessionState;
using System.IO;

public class CourseVideoHandler : IHttpHandler, IReadOnlySessionState
{

    public void ProcessRequest(HttpContext context)
    {


        context.Response.ClearContent();
        context.Response.ClearHeaders();
        context.Response.ContentType = "video/x-flv";

        FileStream fs = File.Open(HttpContext.Current.Server.MapPath("~/content/coursevideos/rowthe boat.flv"),
                                  FileMode.Open);

        byte[] b = new byte[fs.Length];
        fs.Read(b, 0, (int) fs.Length);
        fs.Close();

        context.Response.OutputStream.Write(b, 0, b.Length);

    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}


<!-- START OF THE PLAYER EMBEDDING TO COPY-PASTE -->
    <div id="mediaplayer">JW Player goes here</div>

    <script type="text/javascript" src="jwplayer.js"></script>
    <script type="text/javascript">
        jwplayer("mediaplayer").setup({
            flashplayer: "player.swf",
            file: "../../CourseVideoHandler.ashx?t=.flv",
            image: "preview.jpg"
        });
    </script>
    <!-- END OF THE PLAYER EMBEDDING -->

最佳答案

您是否收到任何 JS 错误? 你检查过其他浏览器吗?

jwplayer 上的特殊字符也有问题:

http://www.longtailvideo.com/support/forums/jw-player/setup-issues-and-embedding/8976/using-ashx-as-image-and-video-params

有点旧,不过你还是可以看看。

关于c# - JW Player 无法显示通过文件处理程序 (.ashx) 提供的 flv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913426/

相关文章:

youtube - 我如何从 youtube URL 获取 flv 文件路径

c# - 如何将文本从动态生成的用户控件传输到文本框

c# - 业务逻辑类命名

asp.net - 网页监控问题

c# - 项目间资源共享策略

c# - 在 View 中渲染包含 Razor 代码的字符串

ffmpeg - 高清 FLV 视频播放缓慢

ffmpeg - 如何使用 PHP 对视频进行编码?

c# - 根据文本值检查文本框

c# - 如何验证字段不为空