Flex 的VideoDisplay 控件对于创建视频播放程序非常快捷,方便,但我在使用过程中遇到了一个小陷阱,经过翻看VideoDisplay 源代码,最后总算搞清楚问题所在了.
VideoDisplay 有一个ready 事件,按照文档的说法,ready 事件发生时,说明flv文件已经就绪,可以播放了,但实践中发现,在ready事件中获取totalTime 属性时,这个值有时正常,有时是-1,尤其是网络传输速度慢时更是如此,经过反复试验仍不能解决,最后只能查看VideoDisplay源码,发现文件长度的获得是在metadataReceived 这个事件中,totalTime 的计算依据是文件长度,如果文件长度未知,totalTime就返回-1,而metadataReceived有时发生在ready事件之前,有时发生在ready事件之后,导致在ready中获得的totalTime时而正常,时而是-1.所以为了保证能够正确获得totalTime,需要同时处理metadataReceived事件.
如果你的firefox上装有firebug,可以看这里: http://dukerr1.googlepages.com/app.html ,通过firebug console,并反复刷新,就可以看到ready事件和metadataReceived事件发生的顺序不确定.
(这个播放器使用了flex的preloader定制机制,使用一个静态位图做preloader(也可以使用swf);使用flex 的skin机制定制了播放控制条;扩展了Slider control,在Slider上增加了下载进度显示)
分享到:
相关推荐
flex中视频播放组件的应用,即videodisplay组件的应用,这是一个具体应用的列子。
本教程将深入探讨如何使用Flex中的`VideoDisplay`组件创建一个自定义的视频播放器,并实现播放位置控制、工具栏样式定制以及与JavaScript的数据交互。 一、`VideoDisplay`组件 `VideoDisplay`是Flex提供的用于展示...
在本文中,我们将深入探讨如何使用Adobe Flex 3框架创建一个基本的FLV(Flash Video)播放器。Flex 3是ActionScript 3.0的一个强大的开发工具,它提供了丰富的用户界面组件和强大的数据服务支持,使开发者可以构建富...
flex中文帮助flex中文帮助flex中文帮助flex中文帮助
要清除VideoDisplay中的视频内容,我们需要访问videoPlayer属性并调用其clear方法。代码示例如下: ```actionscript import mx.core.mx_internal; use namespace mx_internal; var videoDisplay:...
Flex提供了强大的调试工具,如Flex Builder的集成开发环境(IDE),以及Flex SDK中的命令行编译器,帮助开发者定位和修复问题。 12. **国际化和本地化** Flex支持应用的国际化和本地化,允许开发者创建适应多种...
在这个"Flex两个小例子"的资源包中,我们可以推测包含了一些使用Flex开发的示例项目。 首先,让我们详细了解一下Flex的核心组成部分: 1. **Flex SDK**:这是一个开源的开发工具包,包含了编译Flex应用程序所需的...
Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的开放源代码框架。...通过这个教程,读者不仅可以理解Flex的基本概念,还能掌握实际开发中的技巧和最佳实践,从而成为一名熟练的Flex开发者。
10. **最佳实践和设计模式**:学习Flex的过程中,了解和应用设计模式,如MVC(模型-视图-控制器)模式,可以帮助编写出可维护、可扩展的代码。 通过这份"Flex中文帮助"资料,你可以系统地学习Flex的基础概念、编程...
ActionScript 3.0则是Flex中的编程语言,提供了面向对象的编程能力,使得开发者可以实现复杂的业务逻辑。 二、Flex SDK与Flex Builder Flex SDK是Flex开发的基础,包含了编译器、库和命令行工具,允许开发者在任何...
这个“flex加密解密小例子”是关于如何在Flex项目中实现数据的安全性,特别是在传输和存储过程中防止数据被非法访问或篡改。让我们深入探讨Flex中的加密和解密技术。 1. **Flex基础**:Flex使用MXML和ActionScript ...
Flex中的数据绑定机制允许将UI组件的属性直接绑定到应用程序的数据模型,当数据模型发生变化时,UI会自动更新,反之亦然,简化了界面和数据间的交互。 六、Flex事件模型 Flex事件模型基于观察者模式,事件是组件间...
在本压缩包"Flex_help"中,你将找到全面的Flex中文帮助文档,这对于正在学习或使用Flex的开发者来说是一份宝贵的资源。 Flex的主要组件包括Flex Builder(现已更名为Flash Builder)、Flex SDK以及Flex Framework。...
在这个"微信小程序+Flex布局示例源代码"中,我们将深入探讨Flex布局在微信小程序中的应用。 Flex布局,全称为Flexible Box布局,是CSS3中的一种新的布局模式,旨在解决传统盒模型在处理复杂或响应式布局时的困难。...
在微信小程序中,开发者可以利用CSS布局方式之一的Flex布局来实现复杂的页面设计,提高用户体验。本教程将深入探讨微信小程序中的Flex布局。 一、Flex布局基础 1. Flex容器:在CSS中,一个元素如果设置了`display:...
通过“flex中文帮助”压缩包中的资料,初学者可以逐步了解和掌握这些基础知识,通过实例练习来巩固理论知识,为未来深入的Flex开发打下坚实的基础。每个章节都可能涉及上述的一个或多个知识点,通过实践和理解,学习...
本Flex中文帮助文档旨在为初学者提供全面且深入的指导,帮助他们掌握Flex的基本概念、核心组件以及实际开发中的运用。 1. **Flex基础**:Flex是一个强大的开发环境,它提供了丰富的UI组件库和数据绑定机制,让...
这将帮助你理解Flex在RIA开发中的重要性。 2. **ActionScript与MXML**:ActionScript是Flex的主要编程语言,而MXML则是一种用于构建用户界面的标记语言。教程会深入解释这两种语言的语法、特点以及它们如何协同工作...
在Flex4中,ActionScript3(AS3)是主要的编程语言,与Flex SDK紧密集成。AS3是ECMAScript的一个子集,拥有更强大的面向对象特性,如类、接口、包和命名空间,这使得它在构建复杂应用程序时更为高效。Flex4中文API...