页面播放器制作

        做了一个页面的视频播放器,功能简单,只是有些属性有记录意义。班门弄斧,请莫见笑!

        功能:程序会检索指定目录下的文件,并形成文件列表显示在页面上,单击列表中的文件可以播放该文件。播放器可以以全屏方式显示,通过javascript脚本,获取播放文件的总时间和当前播放时间。时间匆忙,功能有限,有时间会将发掘的新功能加入其中,望大家批评斧正!

前台代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WindowMediaPlayer.aspx.cs"
    Inherits="Players_WindowMediaPlayer" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>window media player播放器</title>
    <link href="../css/styles.css" type="text/css" rel="stylesheet" />

    <script language="javascript" type="text/javascript">
    <!--
   /* ======================================================================================================== *
    * 播放器属性参数一览
    *
    * document.wmp.PlayState;
    * wmp.URL=""                       //播放媒体地址
    * wmp.controls.play()              //开始播放
    * wmp.controls.stop()              //停止播放
    * wmp.controls.pause()             //暂停播放
    * wmp.settings.mute=true | false   //控制是否静音
    * wmp.fullScreen=true | false      //控制是否全屏
    *
    * //获取播放机状态
    * wmp.playState                   //播放机状态,共有1-10个状态,具体如下
    * wmp.playState==1                //停止播放
    * wmp.playState==2                //暂停播放
    * wmp.playState==3                //正常播放
    * wmp.playState==4                //向前搜索
    * wmp.playState==5                //向后搜索
    * wmp.playState==6                //缓冲处理
    * wmp.playState==7                //等待反应
    * wmp.playState==8                //播放完毕
    * wmp.playState==9                //连接媒体
    * wmp.playState==10              //准备就绪
    *
    * wmp.controls.currentPositionString    //取得媒体当前位置,以形如 06:01 的时间形式显示
    * wmp.controls.currentPosition             //取得媒体当前位置,以形如 300.001 的秒数形式显示,精确到毫秒
    * wmp.currentMedia.durationString      //取得媒体总长度,以形如 06:01 的时间形式显示
    * wmp.currentMedia.duration               //取得媒体总长度,以形如 300.001 的秒数形式显示,精确到毫秒
    * ====================================================================================================== */
   
    // 获取播放器的全屏状态信息
    function SetFullScreen()
    {
        document.wmp.fullScreen = true;
    }
   
    // 传递播放文件参数
    function SelectFile(_value)
    {
        window.location = "WindowMediaPlayer.aspx?strFileName="+ _value;
    }
   
    // 获取播放器的播放状态
    function GetMediaPlayerState()
    {
        document.getElementById("playerTotalTime").value = document.wmp.currentMedia.durationString;
        document.getElementById("playerCurrentlyTime").value = document.wmp.controls.currentPositionString;
    }
    //-->
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table width="98%">
                <tr>
                    <td colspan="2" align="center">
                        window media player播放器
                    </td>
                </tr>
                <tr>
                    <td style="width: 70%;" align="center">
                        <object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="wmp">
                            <param name="URL" value="../playerdata/<%= strFileName%>" />
                            <!--媒体文件地址-->
                            <param name="rate" value="1" />
                            <param name="balance" value="0" />
                            <!--声道0全声道,-100左声道,100右声道-->
                            <param name="currentPosition" value="0" />
                            <param name="playCount" value="1" />
                            <!--播放次数-->
                            <param name="autoStart" value="0" />
                            <!--是否自动播放-1是,0否-->
                            <param name="currentMarker" value="0" />
                            <param name="invokeURLs" value="-1" />
                            <param name="volume" value="50" />
                            <!--音量-->
                            <param name="mute" value="0" />
                            <!--是否静音-1是,0否-->
                            <param name="uiMode" value="full" />
                            <!--播放器模式full(默认)显示全部控件,none仅视频窗口,mini视频及一些常用控件,invisiblei不显示任何控件及视频窗口-->
                            <param name="stretchToFit" value="0" />
                            <param name="windowlessVideo" value="0" />
                            <param name="enabled" value="-1" />
                            <param name="enableContextMenu" value="-1" />
                            <param name="fullScreen" value="0" />
                            <!--是否全屏-->
                            <param name="enableErrorDialogs" value="-1" />
                            <!--是否允许出错信息提示-->
                        </object>
                        <p>
                            <span οnclick="SetFullScreen();" style="cursor: hand;">全屏播放</span>
                        </p>
                        总播放时间:<asp:TextBox ID="playerTotalTime" runat="server"></asp:TextBox>
                        <br />
                        当前播放时间:<asp:TextBox ID="playerCurrentlyTime" runat="server"></asp:TextBox>
                        <br />
                        <span οnclick="GetMediaPlayerState();" style="cursor: hand;">手动获取状态</span>
                    </td>
                    <td style="width: 30%;" valign="top">
                        <table width="100%">
                            <tr>
                                <td align="center" style="height: 20px;">
                                    选择文件
                                    <hr />
                                </td>
                            </tr>
                            <!--显示指定目录中的文件列表-->
                            <div id="divFilesList" runat="server">
                            </div>
                        </table>
                    </td>
                </tr>
            </table>
        </div>

        <script language="javascript" type="text/javascript">
            // 每隔一秒钟获取一次播放器的执行总时间和当前播放时间
           
            //window.setTimeout(GetMediaPlayerState,1000); // 此方法未达到效果
           
            var id=window.setInterval(GetMediaPlayerState,1000);  
        </script>

    </form>
</body>
</html>

后台代码如下:

using System;
using System.Data;
using System.IO;
using System.Text;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Players_WindowMediaPlayer : System.Web.UI.Page
{
    public String strFileName = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Page.IsPostBack)
        {
            if (Request.QueryString["strFileName"] != null && !Request.QueryString["strFileName"].ToString().Equals(String.Empty))
            {
                strFileName = Request.QueryString["strFileName"].ToString();
            }

            GetFilesList();
        }
    }

    // 获取文件列表
    private void GetFilesList()
    {
        StringBuilder sb = new StringBuilder();
        String strField = Server.MapPath("~/PlayerData/");
       
        //针对当前目录建立目录引用对象
        DirectoryInfo dirInfo = new DirectoryInfo(strField);

        foreach (FileInfo fi in dirInfo.GetFiles())
        {
            sb.AppendFormat("<tr><td><span οnclick=/"SelectFile('{0}');/">{0}</span></td></tr>",fi.Name);
        }

        sb.AppendFormat("<tr><td><hr></td></tr><tr align=/"right/"><td>共{0}个文件</td></tr>", dirInfo.GetFiles().Length.ToString());

        divFilesList.InnerHtml = sb.ToString();
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值