<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
addedToStage="init();"
height="320"
width="590"
backgroundColor="0x000000"
horizontalScrollPolicy="off"
verticalScrollPolicy="off">
<mx:Style source="style/FlvPlayerCss.css"/>
<mx:Script>
<![CDATA[
import flash.display.StageDisplayState;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import mx.collections.ArrayCollection;
import mx.effects.Glow;
import mx.events.SliderEvent;
import mx.events.VideoEvent;
import mx.rpc.events.ResultEvent;
private var timer:Timer;
private var isplaying:Boolean=true;
[Bindable]
private var video_url:String="assets/1.flv";
private var isAdd:Boolean=false; //标识音量
private var tempTimer:Timer=new Timer(1500,1);
//延迟0.05秒左右
private function init():void
{
timer=new Timer(1000, 1);
timer.addEventListener(TimerEvent.TIMER, PlayVideo);
timer.start();
}
//延迟5秒后让视频开始播放
private function PlayVideo(event:TimerEvent):void
{
//播放媒体文件。如果文件尚未加载,则会加载它。当回放暂停、停止或控件正在播放时,可以调用此方法。
//要流式播放来自摄像机的视频,请调用 attachCamera() 方法,而不是调用 play() 方法
flv_video.play();
//playhead_update事件在视频正在播放时继续分派。事件之间的间隔(以毫秒为单位)由 playheadUpdateInterval 属性指定,默认为 250 毫秒。
//视频处于暂停或停止状态时,不分派此事件。
flv_video.addEventListener(VideoEvent.PLAYHEAD_UPDATE, progressHandler); //即每间隔250毫秒调用一次progressHandler方法
}
private var position:Number;
//视屏播放时的进度条(HSlider控件)
private function progressHandler(event:VideoEvent):void
{
hs.value=flv_video.playheadTime; //开始设置进度条值
//如果新的播放头位置小于 0 或为 NaN,则控件将引发异常。当播放头时间为0时即刚开始里设置属性
if (flv_video.playheadTime == 0)
{
flv_video.pause();
}
}
//HSlider控件被触发
private function thumbChanges(event:SliderEvent):void
{
flv_video.playheadTime=hs.value;
}
//格式化 播放时间的显示方式
private function formatTimes(value:int):String
{
var result:String=(value % 60).toString();
if (result.length == 1)
{
result=Math.floor(value / 60).toString() + ":0" + result;
}
else
{
result=Math.floor(value / 60).toString() + ":" + result;
}
return result;
}
//鼠标悬浮时的外发光效果
private function mouseOverHandler(evt:MouseEvent):void
{
//Glow是 flex中用来展示外发光效果的对象
var glow:Glow=new Glow();
//水平的初始发光距离
glow.blurXFrom=0;
//水平发光结束时的距离
glow.blurXTo=50;
glow.blurYFrom=0;
glow.blurYTo=50;
//发光的持续时间,是以毫秒为单位的
glow.duration=800;
//发光时的颜色
glow.color=0xffffff;
//发光形式 true:内发光 false:外发光
//指定为 '谁'提供发光服务
glow.target=evt.currentTarget;
glow.stop();
glow.play();
}
private function doProgressMD():void
{
flv_video.removeEventListener(VideoEvent.PLAYHEAD_UPDATE, progressHandler);
}
private function doProgressMU():void
{
tempTimer.addEventListener(TimerEvent.TIMER,doTempTimer);
tempTimer.start();
}
private function doTempTimer(event:TimerEvent):void{
flv_video.addEventListener(VideoEvent.PLAYHEAD_UPDATE, progressHandler);
}
//播放Flv视屏的操作
private function flvplay(event:Event):void
{
if (isplaying)
{
flv_video.pause();
}
else
{
flv_video.play();
}
isplaying=!isplaying;
}
]]>
</mx:Script>
<mx:Fade id="fadeOut"
duration="10000"
alphaFrom="1.0"
alphaTo="0.0"/>
<mx:VideoDisplay id="flv_video" x="-53" y="-50" width="689" height="420" bufferTime="1"
buttonMode="true" click="flvplay(event)"
useHandCursor="true" source="{video_url}"/>
<mx:HSlider id="hs"
width="568"
height="20"
styleName="progressBar"
allowTrackClick="true"
showTrackHighlight="true"
mouseDown="doProgressMD()"
mouseUp="doProgressMU();"
buttonMode="true"
useHandCursor="true"
maximum="{flv_video.totalTime}"
minimum="0"
x="12"
y="294"
showDataTip="false"
change="thumbChanges(event)"
mouseOver="mouseOverHandler(event)"/>
</mx:Application>
html端:
另外注意火狐里需要在<embed>标签里加参数
<!-- saved from url=(0014)about:internet -->
<html lang="en">
<body scroll="no">
<script language="JavaScript" type="text/javascript">
<!--
// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
var hasProductInstall = DetectFlashVer(6, 0, 65);
// Version check based upon the values defined in globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if ( hasProductInstall && !hasRequestedVersion ) {
// DO NOT MODIFY THE FOLLOWING FOUR LINES
// Location visited after installation is complete if installation is required
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
var MMdoctitle = document.title;
AC_FL_RunContent(
"src", "playerProductInstall",
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width", "590",
"height", "320",
"align", "middle",
"id", "FlvPlayer3",
"quality", "high",
"wmode", "opaque",
"name", "FlvPlayer3",
"allowFullScreen","true",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
} else if (hasRequestedVersion) {
// if we've detected an acceptable version
// embed the Flash Content SWF when all tests are passed
AC_FL_RunContent(
"src", "FlvPlayer3",
"width", "590",
"height", "320",
"align", "middle",
"id", "FlvPlayer3",
"quality", "high",
"bgcolor", "#ffffff",
"name", "FlvPlayer3",
"allowFullScreen","true",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer"
);
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be placed here. '
+ 'This content requires the Adobe Flash Player. '
+ '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
document.write(alternateContent); // insert non-flash content
}
// -->
</script>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="FlvPlayer3" width="590" height="320"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="FlvPlayer3.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="FlashVars" value="myVideoSource=assets/3.flv" /> <param name="allowScriptAccess" value="sameDomain" />
<embed src="FlvPlayer3.swf" quality="high" bgcolor="#ffffff"
width="590" height="320" name="FlvPlayer3" align="middle"
play="true"
loop="false"
quality="high"
FlashVars="myVideoSource=assets/3.flv"
"allowFullScreen","true"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed> </object>
</body>
</html>
分享到:
相关推荐
在本案例中,我们关注的是如何使用Flex实现一个FlV格式的视频播放功能。 FlV(Flash Video)是一种流媒体文件格式,广泛用于在线视频分享和播放。由于其小巧的体积和良好的兼容性,FlV在Flash Player支持的平台中...
这个压缩包提供了一个FLV格式的视频文件和一个Flex测试代码,旨在帮助学习和理解如何在Flex应用程序中处理和播放FLV视频。 **FLV文件格式** FLV是基于二进制的文件格式,主要包含音频、视频和元数据流。它被设计为...
3. **事件处理**:使用creationComplete事件处理函数(completeHandler()),在组件加载完成后执行初始化操作,如创建NetConnection和NetStream实例,准备播放视频。 4. **NetConnection和NetStream**:Flex中的...
在本案例中,“用flex做的简单flv播放器”是一个使用Flex 3开发的项目,目的是实现FLV视频文件的播放功能。FLV是Flash Video格式,常用于网络流媒体播放,因其高效的压缩算法和广泛的浏览器兼容性而被广泛采用。 ...
"libs"目录通常存放外部库和依赖,比如可能包含用于视频播放的第三方库,如Spark或 mx.media等组件库,它们扩展了Flex的默认功能,提供了更丰富的视频处理能力。 在实现Flex视频播放功能时,还需要了解以下关键概念...
1. 播放视频: ```actionscript ns.play(); ``` 2. 暂停视频: ```actionscript ns.pause(); ``` 3. 停止视频: ```actionscript ns.stop(); ``` 四、监听视频事件 为了实现对视频播放状态的监控,我们可以监听...
在Flex开发中,有时我们需要加载并控制外部的SWF文件,比如实现自定义的播放进度条功能。这个场景常见于创建交互式应用或者多媒体展示。本文将深入探讨如何在Flex中实现对引入SWF文件播放进度的控制。 首先,我们要...
flex视频播放控件
这个压缩包中的文档可能详细介绍了如何使用Flex 3创建一个自定义的FLV播放器,包括加载视频、控制播放、暂停、停止等功能。 3. **创建项目** 在Flex Builder中,首先需要创建一个新的Flex项目。选择"Flex Project...
这个“Flex视频播放示例”是专门为展示如何在Flex项目中集成和播放视频而设计的。Flex Builder是一款强大的集成开发环境(IDE),专为开发Flex应用程序提供便利,它基于Eclipse平台,具有代码编辑、调试和部署等功能...
7. **视频流处理**:FLV播放器可能使用了NetStream类来处理视频流,NetStream负责连接到服务器,接收并播放视频数据。 8. **兼容性和适应性**:考虑到跨平台和浏览器兼容性,Flex应用通常能在支持Flash Player的...
JW FLV Player是一款流行的开源Flash视频播放器,它支持FLV格式和其他多种视频格式,广泛应用于网站媒体播放。让我们一步步了解如何进行源码修改和编译流程。 1. **获取开发环境**: 在开始之前,你需要确保已安装...
这些库提供了对FLV文件的操作接口,包括读取、解码和播放视频流。 1. **Shark FFMpeg.NET**:这是一个基于FFmpeg的.NET包装器,它允许.NET开发者调用FFmpeg的功能,包括转换、解码和播放多种视频格式,包括FLV。...
标题“flex播放wav的声音”指的是在Flex环境中播放WAV音频文件的技术。Flex是一个开源的、基于ActionScript的框架,主要用于创建富互联网应用程序(RIA)。它允许开发者构建交互式的、动态的用户界面,其中就包括对...
`VideoDisplay`组件是Flex中用于播放视频的核心元素,它可以嵌入SWF文件或通过RTMP(Real-Time Messaging Protocol)协议从服务器流式传输视频内容。开发者可以通过`VideoDisplay`组件提供的API来控制视频的播放、...
FLV(Flash Video)是Adobe推出的一种流式视频格式,常用于网络上的在线视频播放。FLV的优势在于其小巧的体积和良好的兼容性,特别适合在网络环境中传输。在FLEX中,我们可以通过AS3直接处理FLV文件,实现播放、暂停...
本篇文章将深入探讨如何在Flex中使用`Video`组件来播放视频,以及相关的关键知识点。 首先,让我们了解`Video`组件的基本概念。`Video`组件并不实际包含视频数据,而是作为显示视频的容器。视频数据通常由`...
1. 播放视频:使用Flex的MediaElement组件来加载和播放FLV视频文件。 2. 视频列表展示:从PHP后端请求XML数据,显示可用的视频列表,包括标题和缩略图。 3. 导航和控制:提供播放、暂停、快进、快退等控制功能。 4. ...
在这个特定的场景中,Flex被用来创建一个交互式的、能够播放FLV视频格式的播放器,这种格式常用于视频监控系统。 该播放器的核心功能可能包括以下几点: 1. **视频流支持**:Flex播放器能够处理来自网络摄像头或...