步骤:
1.Flash CS4 中 先拖一个"FLVPlayback"组件到舞台上
注:FLVPlayback本身已经具备了flv播放的基本功能,简单设置下属性就能播放视频了

2.加载xml数据源
xml数据源格式如下:
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
data
>
<
item
flv
=
"flv地址1"
photo
=
"缩略图1"
url
=
"点击路径1"
name
=
"名称1"
></
item
>
<
item
flv
=
"flv地址2"
photo
=
"缩略图2"
url
=
"点击路径2"
name
=
"名称2"
></
item
>
...
</
data
>
ActionScript加载XML的核心代码:
var
_xml:XML ;
//声明一个XML类型的变量,用于后面接收数据
var
_urlReq:URLRequest =
new
URLRequest();
_urlReq.url=
"xml文件地址"
;
var
_loader:URLLoader=
new
URLLoader(_urlReq);
//(异步)开始加载xml
_loader.addEventListener(Event.COMPLETE,loadCompleted);
//配置加载完成后的回调函数
//加载完成后的处理函数
function
loadCompleted(e:Event):
void
{
_xml=XML(_loader.data);
for
each
(
var
item
in
_xml.item) {
trace
(item.@flv +
","
+ item.@photo +
","
+ item.@url +
","
+ item.@name});
//AS中用@来访问xml节点元素的属性
}
}
3.将TileList组件与xml数据绑定起来
TileList有点类似于Silverlight中的WrapPanel,在"Flash/Flex学习笔记(2):捕获摄像头"中最下面的截图列表就是TileList组件的应用,关于它的使用不重复贴代码了
至于tileList与xml的绑定,主要是通过DataProvider来完成
关键As3源代码:
import
fl.events.ListEvent;
import
fl.video.VideoEvent;
import
fl.video.VideoProgressEvent;
lblDebug.visible =
false
;
//关闭调试
flv1.play();
//先默认播放第一个
var
_xml:XML ;
var
_urlReq:URLRequest =
new
URLRequest();
_urlReq.url=
"xml文件地址"
;
var
_loader:URLLoader=
new
URLLoader(_urlReq);
_loader.addEventListener(Event.COMPLETE,loadCompleted);
var
_dp:DataProvider =
new
DataProvider();
var
_currentIndex:
uint
=
0
;
function
loadCompleted(e:Event):
void
{
_xml=XML(_loader.data);
for
each
(
var
item
in
_xml.item) {
_dp.addItem({flv:item.@flv,source:item.@photo,url:item.@url,name:item.@name});
}
if
(_dp.length>
0
) {
playflv(_currentIndex);
flv1.addEventListener(VideoEvent.COMPLETE,playCompleted);
flv1.addEventListener(VideoEvent.BUFFERING_STATE_ENTERED,buffered);
flv1.addEventListener(VideoEvent.STOPPED_STATE_ENTERED,stopEntered);
flv1.addEventListener(VideoEvent.PAUSED_STATE_ENTERED,pauseEntered);
flv1.addEventListener(VideoEvent.PLAYING_STATE_ENTERED,playingEntered);
flv1.addEventListener(VideoProgressEvent.PROGRESS,progressHandler);
}
}
lst1.dataProvider=_dp;
lst1.addEventListener(ListEvent.ITEM_CLICK,clickBaby);
//点击宝贝时,播放对应的视频
function
clickBaby(e:ListEvent) {
_currentIndex=e.index;
//trace(_currentIndex);
playflv(_currentIndex);
}
//播放完成后,插放下一个
function
playCompleted(e:VideoEvent) {
trace
(
"播放完成:"
+ e);
playflv(_currentIndex +
1
);
}
function
buffered(e:VideoEvent){
/*trace("缓冲中..." + e);
lblDebug.text = "缓冲中..."; */
flv1.playWhenEnoughDownloaded();
}
function
stopEntered(e:VideoEvent){
//trace("已停止...");
//lblDebug.text = "已停止...";
}
function
pauseEntered(e:VideoEvent){
//trace("已暂停...");
// lblDebug.text = "已暂停...";
pause1.visible =
true
;
}
function
playingEntered(e:VideoEvent){
//trace("播放中...");
// lblDebug.text = "播放中...";
pause1.visible =
false
;
}
function
progressHandler(e:VideoProgressEvent){
//trace(e);
//flv1.playWhenEnoughDownloaded();
//trace("缓冲时间:" + flv1.bufferTime);
//trace("flv1.buffering=" + flv1.buffering + ",flv1.paused=" + flv1.paused)
if
(flv1.buffering || flv1.paused){
//这个地方有点问题,会使用户的点击暂停失效(目前还没找到因“网速过慢导致进入缓冲的自动暂停” 与“用户自主点击暂停”如何用代码区分)
flv1.playWhenEnoughDownloaded();
}
}
//播放指定索引的视频
function
playflv(flvIndex:
uint
) {
//trace("flvIndex=" + flvIndex + ",_currentIndex=" + _currentIndex);
if
(flvIndex>=_dp.length) {
flvIndex=
0
;
}
var
item:
Object
=_dp.getItemAt(flvIndex);
flv1.load(item.flv);
flv1.play();
pause1.visible =
false
;
_currentIndex=flvIndex;
lst1.scrollToIndex(_currentIndex);
}
stop();
相关推荐
XML视频播放器源码是一种基于XML(可扩展标记语言)技术的媒体播放解决方案,它能够播放FLV(Flash Video)、MP3(音频格式)以及SWF(ShockWave Flash)文件。这种播放器的优势在于它的灵活性和自定义能力,因为XML...
FDT(Flash Development Tool)是一款专为Adobe Flash和Flex开发者设计的集成开发环境(IDE),它基于Eclipse平台,提供了高效、专业的开发工具和服务。FDT的出现极大地提升了Flash和Flex应用的开发效率,尤其是在...
【基于Flex的FLV简易播放器】是一种使用Adobe Flex Builder开发的简单视频播放器应用程序,主要针对FLV格式的视频内容。Flex是基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序(RIA)。在这个...
flex/Flash开发系列书籍:基于FLASH的WEB3D应用研究
附件是关于 Flash/Flex 几个重要框架 Cairngorm、Mate、PureMVC以及Swiz 的典型例子,由 Tony Hillerson 提供 Homepage: http://insideria.com
在这个“RTMP直播例子--基于FLASH/FLEX(含源代码) 下载”中,我们可以深入探讨RTMP直播的基本原理、FLEX编程以及如何在实际项目中应用这些技术。 首先,RTMP协议的工作原理是通过建立一个持久性的TCP连接,允许...
本文将深入解析标题“flash播放器源码FLV视频播放器,可完全用脚本控制的flex flash播放器源码”以及相关描述所涉及的知识点。 首先,FLV(Flash Video)是一种流媒体格式,它被设计用于在网络上传输和播放视频内容...
在IT行业中,Flash/Flex是一种基于ActionScript编程语言和Adobe Flex框架的开发工具,用于创建交互式的、富媒体的Web应用程序。"Flash/Flex画曲线,绘图板"这个主题涉及的是如何使用这些技术来创建一个允许用户自由...
Flex是Adobe公司开发的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在Flash Player或Adobe AIR环境下运行,Flex为开发者提供了强大的UI组件库和编程模型,使得创建交互式、高性能的...
### Flex中Tree的数据源是XML 在Flex应用开发过程中,我们常常需要用到树形结构(Tree)来展示分层数据。为了使数据呈现更加灵活且高效,通常会采用XML作为数据交换格式,这是因为XML具备良好的可读性和扩展性,...
本篇文章将聚焦于如何将ArrayCollection转换为XML数据源,并实现Flex Tree组件的新增、删除和修改功能。以下是详细的解释和步骤。 首先,ArrayCollection是Flex中常用的数据结构,它是一个动态数组,支持数据绑定和...
FXVideo是基于Flex3开发的一个FLV视频播放器,提供了网页上的视频播放功能。这个源码是完全开源的,意味着开发者可以深入研究其内部机制,学习如何在Flex环境中实现视频播放,并根据需求进行定制。 1. **Flex3 基础...
Flex是基于ActionScript和MXML的开放源代码框架,它允许开发者构建可自定义的用户界面,而Flash则是其背后的动画和多媒体支持平台。在本话题中,我们将深入探讨“Flash/Flex的Aqua皮肤”。 Aqua皮肤是一种视觉样式...
FLEX 是一种基于 Adobe Flash 平台的 Rich Internet Application(RIA)开发框架。它提供了一个强大且灵活的开发环境,允许开发者快速构建跨平台、跨浏览器的 Rich Internet 应用程序。在本节中,我们将介绍如何安装...
9. **源码学习价值**:对于想学习Flex开发或者视频播放器实现的开发者来说,这个源码是一个很好的学习资源,可以深入理解如何使用Flex构建功能丰富的媒体应用。 通过研究这个Flex FLV播放器源码,开发者可以了解到...
Flex视频监控播放器是一种基于Adobe Flex技术的Web应用程序,它允许用户通过网页浏览器实时观看视频监控画面。Flex是一个开源框架,主要用于构建富互联网应用程序(RIAs),尤其在多媒体内容展示方面表现出色。在这...
在本话题中,我们重点关注的是基于AIR的Flex视频播放器,它能够通过XML动态加载视频文件,实现更加灵活和定制化的视频播放体验。 首先,让我们深入理解Adobe AIR。AIR允许开发者利用Flex和Flash技术创建桌面应用,...
Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的技术,它基于ActionScript编程语言和Flex框架,可以创建交互性强、用户体验优秀的Web应用。本教程是作者精心编写的Flex学习资料,适合初学者入门,通过...
【基于H5的PC端视频播放器源码】是一个利用HTML5、CSS3以及JavaScript技术构建的网页视频播放器。这个播放器具有基础但实用的功能,包括调整音量、控制播放进度以及全屏播放,同时也涉及到如何精确计算视频的播放...
本教程将深入探讨如何使用Flex中的`VideoDisplay`组件创建一个自定义的视频播放器,并实现播放位置控制、工具栏样式定制以及与JavaScript的数据交互。 一、`VideoDisplay`组件 `VideoDisplay`是Flex提供的用于展示...