media.player.js

/** 定义一个新的player类 */
    /* MediaPlayer类定义 冰点原创 */
    function MediaPlayerE()
    {
        this.dom=null;
    }
    MediaPlayerE.uiMode=
    {
        Full:"full",
        Mini:"mini",
        None:"none",
        Invisible:"invisible"
    }
    MediaPlayerE.prototype={
        CreateAt:function(id)   //在指定ID的标签中创建MediaPlayer控件,大小由该标签决定
        {
            this.dom=document.createElement("object");
            this.dom.classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6";
            this.dom.style.width="800px";
            this.dom.style.height="600px";
            var container=document.getElementById(id);
            container.innerHTML="";
            container.appendChild(this.dom);
            this._Init();
        },
        BindID:function(id) //绑定一个已存在的Object标签,该标签应该为一个MediaPlayer控件
        {
            this.dom=document.getElementById(id);
            this._Init();
        },
        _Init:function()    //初始化,注册事件
        {
            var _this=this;
            this.dom.addEventListener("PlayStateChange",
                function(newState){_this.onPlayStateChange(newState)},true);
            this.dom.addEventListener("Buffering",function(bStart){ _this.onBuffering(bStart) },true);
            this.dom.addEventListener("Error",function(){ _this.onError(); },true);
            this.dom.addEventListener("PositionChange",
                function(oldPos,newPos){ _this.onPositionChange(oldPos,newPos); } ,true);
            this.dom.addEventListener("StatusChange",function(){ _this.onStatusChange(); },true)
        },
        onPlayStateChange:function(newState)
        {
            switch(newState)
            {
            case 1: //wmppsStopped
                this.onStop();
                break;
            case 2:  //wmppsPaused
                this.onPaused();
                break;
            case 3:  //wmppsPlaying
                this.onPlay();
                break;
            case 4:  //wmppsScanForward
                break;
            case 5:  //wmppsScanReverse
                break;
            case 6:  //wmppsBuffering
                this.onBuffering_SC();
                break;
            case 7:  //wmppsWaiting
                break;
            case 8:  //wmppsMediaEnded
                this.onMediaEnded();
                break;
            case 9:  //wmppsTransitioning
                this.onTransitioning();
                break;
            case 10:  //wmppsReady
                break;
            case 11:  //wmppsReconnecting
                break;
            case 12:  //wmppsLast
                break;
            case 0:  //wmppsUndefined
                break;
            default:
                break;
            }
        },
        // 事件列表
        onStop:function(){alert("停止事件");},
        onPaused:function(){alert("暂停事件")},
        onPlay:function(){alert("播放事件")},
        onBuffering_SC:function(){},
        onTransitioning:function(){},
        onMediaEnded:function(){},
        onError:function(){},
        onPositionChange:function(oldPos,newPos){},
        onStatusChange:function(){},
        onBuffering:function(bStart){},
         
        // 设置 暂时只做两个
        setMode:function(mode){ this.dom.uiMode=mode; },
        setValume:function(v){ this.dom.settings.volume=v; },
         
        // 各种属性
        getMediaName:function()
        {
            var media=this.dom.currentMedia;
            if(media)
            {
                return media.name;
            }
            return "";
        },
        getMediaDuration:function()
        {
            var media=this.dom.currentMedia;
            if(media)
            {
                return media.duration;
            }
            return "";
        },
        getMediaDurationString:function()
        {
            var media=this.dom.currentMedia;
            if(media)
            {
                return media.durationString;
            }
            return "";
        },
        getStatus:function(){ return this.dom.status; },
        getPosition:function(){ return this.dom.controls.currentPosition; },
        getPositionString:function(){ return this.dom.controls.currentPositionString; },
        getPlayState:function(){ return this.dom.playState; },
         
        //赋值方法
        setPosition:function(n){ this.dom.controls.currentPosition=n; },
        // 操作方法
        OpenUrl:function(URL){ this.dom.URL=URL; },
        Play:function(){ this.dom.controls.play(); },
        Pause:function(){ this.dom.controls.pause();},
        Stop:function(){ this.dom.controls.stop(); }
    }
    
    /* MediaPlayer类定义 冰点原创 */
    function MediaPlayer()
    {
        this.dom=null;
    }
    MediaPlayer.uiMode=
    {
        Full:"full",
        Mini:"mini",
        None:"none",
        Invisible:"invisible"
    }
    MediaPlayer.prototype={
        CreateAt:function(id)   //在指定ID的标签中创建MediaPlayer控件,大小由该标签决定
        {
            this.dom=document.createElement("object");
            this.dom.classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6";
            this.dom.style.width="800px";
            this.dom.style.height="600px";
            var container=document.getElementById(id);
            container.innerHTML="";
            container.appendChild(this.dom);
            this._Init();
        },
        BindID:function(id) //绑定一个已存在的Object标签,该标签应该为一个MediaPlayer控件
        {
            this.dom=document.getElementById(id);
            this._Init();
        },
        _Init:function()    //初始化,注册事件
        {
            var _this=this;
            this.dom.attachEvent("PlayStateChange",
                function(newState){_this.onPlayStateChange(newState)});
            this.dom.attachEvent("Buffering",function(bStart){ _this.onBuffering(bStart) });
            this.dom.attachEvent("Error",function(){ _this.onError(); });
            this.dom.attachEvent("PositionChange",
                function(oldPos,newPos){ _this.onPositionChange(oldPos,newPos); } );
            this.dom.attachEvent("StatusChange",function(){ _this.onStatusChange(); })
        },
        onPlayStateChange:function(newState)
        {
            switch(newState)
            {
            case 1: //wmppsStopped
                this.onStop();
                break;
            case 2:  //wmppsPaused
                this.onPaused();
                break;
            case 3:  //wmppsPlaying
                this.onPlay();
                break;
            case 4:  //wmppsScanForward
                break;
            case 5:  //wmppsScanReverse
                break;
            case 6:  //wmppsBuffering
                this.onBuffering_SC();
                break;
            case 7:  //wmppsWaiting
                break;
            case 8:  //wmppsMediaEnded
                this.onMediaEnded();
                break;
            case 9:  //wmppsTransitioning
                this.onTransitioning();
                break;
            case 10:  //wmppsReady
                break;
            case 11:  //wmppsReconnecting
                break;
            case 12:  //wmppsLast
                break;
            case 0:  //wmppsUndefined
                break;
            default:
                break;
            }
        },
        // 事件列表
        onStop:function(){alert("停止事件");},
        onPaused:function(){alert("暂停事件")},
        onPlay:function(){alert("播放事件")},
        onBuffering_SC:function(){},
        onTransitioning:function(){},
        onMediaEnded:function(){},
        onError:function(){},
        onPositionChange:function(oldPos,newPos){},
        onStatusChange:function(){},
        onBuffering:function(bStart){},
         
        // 设置 暂时只做两个
        setMode:function(mode){ this.dom.uiMode=mode; },
        setValume:function(v){ this.dom.settings.volume=v; },
         
        // 各种属性
        getMediaName:function()
        {
            var media=this.dom.currentMedia;
            if(media)
            {
                return media.name;
            }
            return "";
        },
        getMediaDuration:function()
        {
            var media=this.dom.currentMedia;
            if(media)
            {
                return media.duration;
            }
            return "";
        },
        getMediaDurationString:function()
        {
            var media=this.dom.currentMedia;
            if(media)
            {
                return media.durationString;
            }
            return "";
        },
        getStatus:function(){ return this.dom.status; },
        getPosition:function(){ return this.dom.controls.currentPosition; },
        getPositionString:function(){ return this.dom.controls.currentPositionString; },
        getPlayState:function(){ return this.dom.playState; },
         
        //赋值方法
        setPosition:function(n){ this.dom.controls.currentPosition=n; },
        // 操作方法
        OpenUrl:function(URL){ this.dom.URL=URL; },
        Play:function(){ this.dom.controls.play(); },
        Pause:function(){ this.dom.controls.pause();},
        Stop:function(){ this.dom.controls.stop(); }
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值