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

本文关键字:ashx flv 程序 处理 Player 显示 文件 JW | 更新日期: 2023-09-27 18:20:35

我正试图通过ashx页面将flv文件加载到JWPlayer中。然而,我总是得到以下错误:

任务队列在步骤5失败:无法加载播放列表:播放列表文件不包含有效的播放列表

如果我直接在Firefox中加载ashx页面,视频将加载并自动播放。如果我将flvplayer更改为直接指向flvfile,它可以正常工作。所以我有点困惑到底是什么问题!我注意到的一件事是,当直接通过浏览器播放时,ashx页面后面的代码会运行两次,第二次没有可用的会话变量,尽管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 -->

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

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

jwplayer上还有一个特殊字符的问题:

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

它有点旧,但你无论如何都可以检查一下。