Mar 22
前两天我在折腾Flex的VideoDisplay控件并且好奇为什么我的简单测试代码无法通过。原因是我的服务器无法连接以至无法读取Flash媒体文件(FLV)。于是我很快的敲下了下面的代码利用stateChange事件来监听,来看VideoDisplay控件所得到的connectionError的状态(返回值是否为VideoDisplay.CONNECTION_ERROR常量)。
接下来的例子演示了如何监听stateChange事件来判断VideoDisplay控件是否返回了VideoEvent.CONNECTION_ERROR。
下面是完整代码:
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundColor="white" viewSourceURL="srcview/index.html">
- <mx:Script>
- <![CDATA[
- import mx.events.VideoEvent;
- import mx.controls.Alert;
- private function doStateChange(evt:VideoEvent):void {
- switch (evt.currentTarget.state) {
- case VideoEvent.CONNECTION_ERROR:
- evt.currentTarget.visible = false;
- Alert.show(evt.currentTarget.source, "Unable to connect to video");
- break;
- }
- }
- ]]>
- </mx:Script>
- <mx:VideoDisplay source="http://blog.minidx.com/flash/video/404.flv" stateChange="doStateChange(event);" />
- </mx:Application>
下面是Demo(可以右键或点击这里察看源代码):
原文作者:Peter deHaan 翻译:minidxer
