AS3的 LoaderInfo 类为我们加载外部资源提供了更多的可控信息,以前制作SWF播放器的两大难题终于可以得到解决:
◦获得加载SWF的舞台大小以缩放到适合尺寸显示
LoaderInfo 的 width 和 height 属性便是舞台大小。
◦使加载的SWF按自己的帧频播放
LoaderInfo 的 frameRate 属性为加载SWF的帧频,可以修改Stage的 frameRate 属性适应播放。
做了一个 简单的例子 ,分别加载300×150帧频5和100×150帧频20的两个swf到200×200大小的区域播放,注释写的很详细,就不啰嗦了。
监听加载事件:
var t_info : LoaderInfo = this.m_loader.contentLoaderInfo;
t_info.addEventListener(Event.COMPLETE, this.onLoadDone);
t_info.addEventListener(IOErrorEvent.IO_ERROR, this.onLoadError);
t_info.addEventListener(ProgressEvent.PROGRESS, this.onLoadProgress);显示加载进度:
private function onLoadProgress(p_e : ProgressEvent) : void
{
this.m_loading.progress(p_e.bytesLoaded, p_e.bytesTotal);
}显示加载的SWF:
// 隐藏loading
this.m_loading.hide();
// loaderInfo
var t_info : LoaderInfo = this.m_loader.contentLoaderInfo;
// 载入的MC
this.m_mc = t_info.content as MovieClip;
// 载入MC的舞台宽度
var t_stageW : Number = t_info.width;
// 载入MC的舞台高度
var t_stageH : Number = t_info.height;
// 载入MC的实际宽度
var t_mcW : Number = this.m_mc.width;
// 载入MC的实际高度
var t_mcH : Number = this.m_mc.height;
// 是否缩放MC适应显示宽度(载入MC舞台的宽高比是否大于显示区域宽高比)
var t_scaleWidth : Boolean = t_stageW / t_stageH > SHOW_W / SHOW_H;
// 缩放比率
var t_scaleRate : Number = t_scaleWidth ? SHOW_W / t_stageW : SHOW_H / t_stageH;
// 缩放MC
this.m_mc.scaleX = this.m_mc.scaleY = t_scaleRate;
// 显示载入MC的显示范围
this.m_mc.scrollRect = new Rectangle(0, 0, t_stageW, t_stageH);
// 显示载入MC
this.addChild(this.m_mc);
// 调整显示位置
this.m_mc.x = SHOW_X;
this.m_mc.y = SHOW_Y;
if (t_scaleWidth) this.m_mc.y += (SHOW_H - t_stageH * t_scaleRate) / 2;
else this.m_mc.x += (SHOW_W - t_stageW * t_scaleRate) / 2;
// 修改帧频
this.stage.frameRate = t_info.frameRate;
this.fms.text = String(this.stage.frameRate);
// 设置组件
this.sdr.enabled = this.btn1.enabled = this.btn2.enabled = true;
this.sdr.maximum = this.m_mc.totalFrames;
// 监听MC事件
this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame);另外加了一个 Slider 组件来控制播放,前提是加载的swf必须发布为Player9,As3:
this.sdr.addEventListener(SliderEvent.CHANGE, this.onChangeSdr);
this.sdr.addEventListener(SliderEvent.THUMB_PRESS, this.onPressSdr);
this.sdr.addEventListener(SliderEvent.THUMB_RELEASE, this.onReleaseSdr);
private function onChangeSdr(p_e : SliderEvent) : void
{
if (this.m_isPressSdr) this.m_mc.gotoAndStop(p_e.value);
}
private function onPressSdr(p_e : SliderEvent) : void
{
this.m_isPressSdr = true;
this.m_mc.stop();
}
private function onReleaseSdr(p_e : SliderEvent) : void
{
this.m_isPressSdr = false;
this.m_mc.play();
}f
分享到:
相关推荐
本话题聚焦于"Flash制作的播放器",我们将深入探讨Flash技术及其在创建播放器方面的应用。 Flash Player,是由Adobe公司开发的一款浏览器插件,它使得用户可以在网页上播放由Flash技术创建的多媒体内容。这种技术以...
Flashswf播放器是一款用于播放flash制作软件制作出来的SWF动画视频,可以清晰的显示出文件名称、大小和修改时间,同时还支持是EXE格式的文件播放与网络播放,还可以建立类别,分类保存SWF视频。 FlashSwf播放器功能...
FlashSwf播放器是一款用于播放flash制作软件制作出来的SWF动画视频,可以清晰的显示出文件名称、大小和修改时间,同时还支持是EXE格式的文件播放与网络播放,还可以建立类别,分类保存SWF视频。 FlashSwf播放器...
Flash播放技术是SWF播放器的核心。Flash是一种交互式矢量图形和多媒体平台,曾经广泛应用于网页设计、游戏开发、在线视频等领域。虽然随着HTML5等现代技术的发展,Flash的地位逐渐被取代,但仍有大量的遗留内容需要...
SWF播放器是一款专门设计用来播放SWF(Shockwave Flash)文件的应用程序。SWF是一种由Adobe Flash技术创建的文件格式,广泛应用于网页上的动画、游戏、交互式内容以及多媒体演示。这款播放器不仅能够播放SWF文件,还...
在本文中,我们将深入探讨如何使用C#编程语言制作一个Swf播放器。Swf(Shockwave Flash)是一种用于在Web上展示动画和交互式内容的文件格式,常见于在线游戏、广告和多媒体应用程序。C#是Microsoft开发的一种面向...
本项目聚焦于“flv播放器的flash制作”,涵盖了如何利用Flash软件创建一个能够播放FLV格式视频的播放器,并实现与JavaScript的交互功能。下面将详细介绍这个主题中的关键知识点。 1. FLV格式:FLV(Flash Video)是...
"Flash制作视频播放器"这个主题涉及到的是一种使用Adobe Flash技术构建的专门用于播放FLV(Flash Video)格式视频的播放器。以下是对这个知识点的详细解释: Flash Video(FLV)是一种流行的流媒体格式,特别适合在...
在新东方的在线教学资源中,SWF是Adobe Flash制作的动画或交互式内容的文件格式,通常用于创建富媒体和动态教学课件。这种格式的文件能够包含音频、视频、文字和交互元素,提供丰富的学习体验。而NCE和NCF则是新东方...
沪江播放器SWF PLAYER能够解析并执行这些文件中的ActionScript代码,使用户能在不依赖浏览器或Flash Player插件的情况下运行SWF内容。 在使用沪江播放器SWF PLAYER时,用户可以期待以下特性: 1. **独立播放**:...
3. 在线学习平台:沪江网是一个知名的在线学习平台,提供多语种学习、K12教育、职场技能等多种课程,SWF播放器可能是为了播放其平台上的一些特定教学内容而开发的。 4. 版本号:软件的版本号(如0.2)代表了软件的...
本项目“C#制作的FLASH播放器”显然利用了C#的特性来实现对SWF(Adobe Flash的文件格式)的支持,使得用户可以在没有浏览器或其他Flash环境的情况下播放Flash内容。下面将详细介绍这一领域的相关知识点。 首先,C#...
Flash AS 教程: AS 2.0 制作加载外部 .swf 影片的视频播放器 本教程将指导读者使用 AS 2.0 制作加载外部 .swf 影片的视频播放器,整个过程分为四个步骤:画播放器、做按钮、做屏幕和写代码。通过这四个步骤,读者...
Flash8专用播放器是一款专为播放Flash8格式的SWF文件设计的应用程序。在Web的早期,Flash技术广泛应用于创建动态网页、互动游戏以及在线多媒体内容。Flash8是Adobe公司发布的一个版本,它带来了许多创新功能,如高级...
本文将详细介绍如何使用VB来制作一个简单的Flash播放器。此教程不仅适合初学者,也适用于希望拓展其VB编程技能的开发者。我们将通过具体的代码示例和步骤说明来展示这一过程。 #### 二、所需组件及配置 为了实现这...
在互联网的早期,Flash技术因其强大的交互性和丰富的媒体表现力而广受欢迎,许多在线游戏、广告和多媒体教学内容都基于Flash制作。 标题中的“Flash播放器”和“flash播放器”指的是同一款软件,即用于播放Flash...
每一部分都通过特定的标记和编码进行组织,使得SWF播放器能够解析并渲染出动画内容。 2. Flash拆解过程:这个工具可能采用了反编译技术,将SWF文件的二进制数据解析为可读的形式。它首先识别出文件中的各个组件,如...
在本文中,我们将深入探讨如何使用Visual C++(VC)来制作一个简易的Flash播放器。Flash播放器是一种能够解析并展示SWF格式文件的应用程序,这种格式是Adobe Flash广泛使用的动画和交互式内容格式。在Windows平台上...
打开这个文件可能需要一个SWF播放器,如Adobe Flash Player,或者一些现代浏览器的插件。如果你对这个文件的内容感兴趣,可以尝试使用这些工具来查看和分析它的结构和功能。 总之,SWF是曾经在网络多媒体领域占据...
在制作Flash播放器时,我们需要利用C++Builder的API和库来实现与Adobe Flash Player的交互。 1. **选择合适的库和组件**:C++Builder不自带Flash播放功能,因此需要引入第三方库如SWFObject或Flex SDK来支持Flash...