VideoPlayer

/**
* VERSION: 1.0
* DATE: 2012-10-30
* AS3
**/
package com.aidimedia.view
{
import com.aidimedia.datas.Config;
import com.aidimedia.manages.UISourceManager;

import flash.display.MovieClip;
import flash.events.ContextMenuEvent;
import flash.events.MouseEvent;
import flash.media.Video;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;

import flashx.textLayout.formats.BackgroundColor;

import org.osmf.media.MediaPlayerState;

import spark.components.VideoPlayer;

/**
*播放视频
*
* Copyright 2012, aidimedia. All rights reserved
*
* @author 马岩, ma114yan@163.com
*/
public class VideoPlayerView extends UI
{
import mx.controls.Alert;
import mx.events.DragEvent;

import org.osmf.events.LoadEvent;
import org.osmf.events.MediaPlayerStateChangeEvent;
import org.osmf.events.TimeEvent;
public function VideoPlayerView()
{
super();
init();
}
//播放视频组件
private var vp:VideoPlayer = new VideoPlayer();


override protected function init():void{

this.contextMenu=contextMenu;

vp.width = Config.videoWidth;
vp.height = Config.videoHeight;
vp.autoPlay = true;
vp.autoRewind = true;
vp.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE,vidPlyr_mediaPlayerStateChangeHandler);
//vp.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE ,vp_bytesLoadedChangeHandler);
this.width = Config.width;
this.height = Config.height;
vp.x = this.width /2 - vp.width/2;
vp.y = this.height /2 - vp.height/2;
this.setStyle("backgroundColor" ,0x000000);
this.addChild(vp);
}

public function setSourece(url:String):void{
vp.source = url;
}

/**
* 监测mediaPlayerStateChange事件以及检查playbackError的状态,
* 检测VideoPlayer载入多媒体文件时是否发生错误
*
*
*/

protected function vidPlyr_mediaPlayerStateChangeHandler(evt:MediaPlayerStateChangeEvent):void {
switch (evt.state) {
case MediaPlayerState.LOADING:
vp.errorString = "";
break;
case MediaPlayerState.PLAYBACK_ERROR:
Alert.show("Unable to load video", evt.state);
vp.errorString = "Unable to load video";
break;
}
}
//鼠标点击事件
override protected function clickHD(event:MouseEvent):void
{
var name:String = event.target.name;
if(name == "play"){

}
else if(name == "stop"){

}
}



//返回视频播放进度值
private function GetVideoTime():Number{
return vp.currentTime;
}


override public function destory():void
{
super.destory();
vp.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE,vidPlyr_mediaPlayerStateChangeHandler);
this.removeAllChildren();
vp.source = null;
}

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值